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 :

Erreur 183 sur un CopyFile()


Sujet :

Delphi

  1. #1
    Membre régulier

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 536
    Points : 121
    Points
    121
    Par défaut Erreur 183 sur un CopyFile()
    Bonjour à tous

    Ca fait un moment que je me creuse la cervelle là-dessus.

    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
    Var
          F_Source, F_Dest : string;  // Var locales
          Err : integer;  / Var locale
          Retour_Copie : boolean;  // Var locale
          Rep_Temp_Edition: string;  // Var globale. C:\TEMP (pas le choix : certains noms de fichiers, ici, 
                                                     // ne peuvent être passés en paramètre à l'éditeur à cause de leur longueur. 
                                                     // Si je les copie ds le répertoire temporaire du profil, leurs noms deviennent trop longs. C'est comme ça que j'ai "résolu" le pb
          F_Pointe : string;   // Ds un ListBox
    
          F_Source := Rep_Base_Articles + '\' + ExtractFileName(F_Pointe);
          F_Dest := Rep_Temp_Edition + '\' + ExtractFileName(F_Source);
          ForceDirectories(Rep_Temp_Edition);
          Retour_Copie := CopyFile(PChar(F_Source), PChar(F_Dest), False);
    
    // Les deux lignes ci-dessous font générer un fichier texte affichant la valeur de toutes les variables globales : tout est correct . C'est ça qui m'étonne
    Procedure_Appelante := 'Appel_Editeur';  // DEBUG
    Lister_Variables(Procedure_Appelante, 'Z-Appel_Editeur.TMP');  // DEBUG Appel_Editeur : nom de la procédure
    
          // plusieurs lignes de code n'affectant pas les variables requises pour la copie
    
          if Retour_Copie = False then
            begin
              Err := GetLastError;
              MessageDlg( 'ERREUR EN COPIE DU FICHIER : ' + F_Source +
                          #13+#10 + F_Dest + ' ERREUR N° : ' + IntToStr(Err), mtWarning, [mbOK], 0);
              F_Pointe := '';
              Form1.ListBox1.SetFocus;
              Exit;
            end
          Else Nom_F_A_Editer := F_Source;
    Err 183 : "Impossible de un fichier un fichier déjà existant".

    Qu'est-ce que ça vient fiche ici ? CopyFile() s'en moque et, de toute façon, j'ai lui passé le paramètre False. Même s'il existait déjà, et vu qu'il n'est pas locké, pourquoi cette erreur 183 ?

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 693
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 693
    Points : 13 128
    Points
    13 128
    Par défaut
    GetLastError est appelé beaucoup trop tard. L'erreur retournée trouve probablement son origine dans Lister_Variables (tentative de création de Z-Appel_Editeur.TMP qui existe déjà). Il faut appeler immédiatement GetLastError si CopyFile échoue (idem pour ForceDirectories).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Err := 0;
     
    if not CopyFile() then
      Err := GetLastError;
     
    if Err <> 0 then ...

Discussions similaires

  1. Erreur 145 sur table mysql
    Par ramses83 dans le forum Requêtes
    Réponses: 1
    Dernier message: 06/09/2007, 21h09
  2. [VB.NET] Erreur OnMouseUp sur Datagrid
    Par daner06 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 19/01/2005, 10h26
  3. [Kylix] erreur time.sur kylix avec redhat 9.0
    Par sumco dans le forum EDI
    Réponses: 4
    Dernier message: 20/05/2004, 15h13
  4. Réponses: 9
    Dernier message: 27/04/2004, 11h01
  5. [VB6] Erreur 9 sur redim preserve
    Par tomnie dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 22/10/2002, 17h29

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