Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chemillé
    Inscrit en
    mars 2018
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 18
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Chemillé
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2018
    Messages : 21
    Points : 21
    Points
    21

    Par défaut Probleme avec les system.io

    Bonjour,

    Cela fait maintenant plusieurs jours que je me tire les cheveux à cause d'une erreur system.IO

    Voici cette erreur : System.IO.IOException*: 'Le processus ne peut pas accéder au fichier 'C:\Autres\Launcher\listpack.txt', car il est en cours d'utilisation par un autre processus.'

    Avez vous la solution a cette erreur ??

    Je vous fait parvenir mon code ! (l'erreur apparait sur la ligne N°46)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
     
     
            If My.Computer.FileSystem.FileExists(dlauncher & "UP.exe") Then
                My.Computer.FileSystem.DeleteFile(dlauncher & "UP.exe")
            End If
            If My.Computer.FileSystem.FileExists(dlauncher & "update.txt") Then
                My.Computer.FileSystem.DeleteFile(dlauncher & "update.txt")
            End If
            If My.Computer.FileSystem.FileExists(dlauncher & "site.txt") Then
                My.Computer.FileSystem.DeleteFile(dlauncher & "site.txt")
            End If
            PositronTheme1.Text = "Launcher " & servername
     
            downloadmods.Text = "Chargement... ! Mais cliquez pour télécharger"
            versao.Text = "Version du launcher: " & Application.ProductVersion
            updatemods.RunWorkerAsync() ' On vois si il n'y a pas de mise à jour des mods
            My.Computer.FileSystem.CreateDirectory(appdata) 'On crée un dossier pour y placer tout ce don le launcher a besoin
            user_log.Text = "Identifié en tant que :  " & user  ' Un truc pas utile :D
            If My.Computer.FileSystem.FileExists(appdata & "destination.a3") Then ' On verifie si la destination à deja été choisi
                destination = My.Computer.FileSystem.ReadAllText(appdata & "destination.a3")
                destino.Text = "Destination d'Arma3: "" " & destination & " """
                If My.Computer.FileSystem.FileExists(destination & "arma3.exe") Then
                Else
                    MsgBox("La destination d'Arma3 n'est pas valide !")
                End If
            Else
     
                If MsgBox("Aucune destination selectionné pour Arma3, voulez vous la selectionner ?", MsgBoxStyle.YesNo, "Destination Arma3 non dispo.") = vbYes Then
                    FolderBrowserDialog1.ShowDialog()
                    destination = FolderBrowserDialog1.SelectedPath & "\"
                    My.Computer.FileSystem.WriteAllText(appdata & "destination.a3", destination, False)
                    If My.Computer.FileSystem.FileExists(destination & "arma3.exe") Then
                    Else
                        MsgBox("La destination choisi n'est pas valide !")
                    End If
                    destino.Text = "Destination d'Arma3: "" " & destination & " """
                    downloadmods.Enabled = True
                End If
            End If
     
     
            My.Computer.FileSystem.CreateDirectory("C:/Autres/Launcher/")
     
            If My.Computer.FileSystem.FileExists("C:/Autres/Launcher/listpack.txt") Then
                My.Computer.FileSystem.DeleteFile("C:/Autres/Launcher/listpack.txt") '<----------ERREUR  ICI -------------
            Else
            End If
            My.Computer.FileSystem.WriteAllText("C:/Autres/Launcher/listpack.txt", "updatepack.txt" & vbNewLine & "basepack.txt" & vbNewLine & "delete.txt", False)
     
            Dim src As New StreamReader("C:/Autres/Launcher/listpack.txt")
     
     
            While src.Peek <> -1
                ligne = src.ReadLine()
                If My.Computer.FileSystem.FileExists("C:/Autres/Launcher/" & ligne) Then
                    My.Computer.FileSystem.DeleteFile("C:/Autres/Launcher/" & ligne)
                Else
                End If
                Dim Download As WebClient = New WebClient
                AddHandler Download.DownloadProgressChanged, AddressOf client_ProgressChanged
                AddHandler Download.DownloadFileCompleted, AddressOf client_DownloadCompleted
                Download.DownloadFileAsync(New Uri(website & ligne), "C:/Autres/Launcher/" & ligne)
            End While
            Form2Load.RunWorkerAsync()
        End Sub

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    octobre 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2004
    Messages : 142
    Points : 72
    Points
    72

    Par défaut

    Quand je vois ces lignes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            My.Computer.FileSystem.CreateDirectory("C:/Autres/Launcher/")
     
            If My.Computer.FileSystem.FileExists("C:/Autres/Launcher/listpack.txt") Then
                My.Computer.FileSystem.DeleteFile("C:/Autres/Launcher/listpack.txt") '<----------ERREUR  ICI -------------
            Else....
    Tu crées un répertoire "C:/Autres/Launcher" (donc vide) puis tout de suite tu cherches un fichier dedans. A mon avis le if-else-endif est inutile...
    Ceci dit je me demande comment il peut arriver sur cette ligne! Le répertoire Launcher est peut-être déjà créé et tu as un Notepad ouvert avec ce fichier?

    Maintenant, pour les I/O, utilise les instructions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File.Exists(nomDeFichier), Directory.Exists(nomDePath), File.Delete(nomDeFichier)...etc
    dans l'unité System.IO

    Et puis, petit conseil, mets "C:/Autres/Launcher" dans une variable, tu seras bien content quand tu décideras de changer le nom du répertoire (ça t'évitera de le répercuter sur toutes les lignes l'utilisant)

Discussions similaires

  1. Help!! Probleme avec les dates sur SQL SERVER
    Par Nadaa dans le forum MS SQL-Server
    Réponses: 16
    Dernier message: 03/08/2006, 17h55
  2. Problème avec les commandes systèmes
    Par ouakammathieu dans le forum Administration système
    Réponses: 8
    Dernier message: 27/05/2006, 16h06
  3. PROBLEME AVEC LES REQUETES IS NULL / NOT EXISTS
    Par sylvaine dans le forum Langage SQL
    Réponses: 5
    Dernier message: 04/06/2004, 14h26
  4. Problem avec les *.AVI sur les panels
    Par NaDiA_SoFt dans le forum C++Builder
    Réponses: 3
    Dernier message: 31/08/2003, 23h50
  5. probleme avec les processus
    Par saidi dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 05/02/2003, 01h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo