IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Delphi Discussion :

CopyFile() : à quel fichier peut-on relier l'erreur ?


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    540
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 540
    Par défaut CopyFile() : à quel fichier peut-on relier l'erreur ?
    Bonsoir à tous

    Lorsque CopyFile() échoue, elle retourne False. Mais à propos de quel fichier : source, ou destination ?

    Un exemple de code :

    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
     
    procedure TForm1.Btn_1Click(Sender: TObject);
    Var   Source, Dest : string;
          Err : integer;
     
     
    begin
          Form1.StatusBar.Panels[0].Text := '';
          Form1.StatusBar.Update;
     
          Source := 'Project1.res';
          Dest := 'Project1/bak';     // Volontaire : Dest est un nom de fichier incorrect
     
          if CopyFile( PChar(Source), PChar(Dest), False) = False then
            begin
                Err := GetLastError;
                Form1.StatusBar.Panels[0].Text := 'ERREUR NUMERO : ' + IntToStr(Err);
                Form1.StatusBar.Update;
     
                Exit;
            end;
     
          Form1.StatusBar.Panels[0].Text := 'PAS D''ERREUR';
          Form1.StatusBar.Update;
     
    end;
    Erreur retournée :



    Oui, mais quel est le fichier qui a provoqué cette erreur ? Source, ou Destination ? Ici : https://msdn.microsoft.com/en-us/library/aa910674.aspx , je ne vois pas la réponse.

  2. #2
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 679
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Comme ça, je ne sais pas mais tu peux facilement t'en prémunir en vérifiant l'existence du fichier source (FileExists(source)) et l'existence du répertoire de destination (DirectoryExists(ExtractFilePath(Dest)). De plus si le répertoire de destination n'existe pas, tu peux le créer (ForceDirectories(ExtractFilePath(Dest)).

    Si le fichier source existe et le répertoire de destination aussi, alors tu peux invoquer CopyFile.

    Cordialement,
    Grégory.
    Mon site - Mes tutoriels - GitHub - N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    540
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 540
    Par défaut
    C'est bien ce que je pensais : apparemment, l'API ne renvoie aucun message précis, aucune donnée quelque part dans une structure.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Syntaxe ERROR: quel'un peut me dire ou y a une erreur
    Par jam92400 dans le forum Access
    Réponses: 14
    Dernier message: 27/06/2006, 18h06
  2. []Commnet voir quel fichier il me manque ? Erreur 48
    Par johnpelu dans le forum Installation, Déploiement et Sécurité
    Réponses: 4
    Dernier message: 13/10/2005, 11h27
  3. Quel fichier .lib ?
    Par Neilos dans le forum DirectX
    Réponses: 10
    Dernier message: 27/01/2005, 19h16
  4. [débutant]Quel fichier à joindre pour directdraw ?
    Par lvdnono dans le forum DirectX
    Réponses: 3
    Dernier message: 31/05/2004, 12h01
  5. Réponses: 4
    Dernier message: 26/01/2004, 13h50

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