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

Langage Delphi Discussion :

FindCLose Comportement etrange


Sujet :

Langage Delphi

  1. #1
    Aos
    Aos est déconnecté
    Membre habitué

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 189
    Points : 187
    Points
    187
    Par défaut FindCLose Comportement etrange
    Bonjour a tous,

    J'utilise FindClose dans une procedure ci dessous.
    Le probleme est simple a expliqué. Lorsque je crée un nouveau programme ou je ne mets que cette fonction, elle fonctionne parfaitement.
    Lorsque je viens l'implanter dans un autre programme, FindClose me fait un message tres etrange.
    En principe FINDCLOSE attend un paramettre TsearchRec. Et bien la, il me demande un Cardinal.

    Je vous rappelle que la procedure fonctionne tres bien.
    Y a t-il une explication a mon probleme et surtout, avez vous une solution ?
    Merci d'avance.

    Aos

    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
     
    Procedure VerifierSiNouveauDevis(TempsVerificationNouveauDevis:TTimer);
    Var Chemin : String;
        Info   : TSearchRec;
        NombredevisTemp: integer;
    begin
    NombreDevisTemp:=0;
     
      { Pour être sur que la barre oblique finisse le nom du chemin }
      Chemin := IncludeTrailingPathDelimiter('alloprod\');
     
      { Recherche de la première entrée du répertoire }
      If FindFirst(Chemin+'*.tmp',faAnyFile,Info)=0 Then
      Begin
      TempsVerificationNouveauDevis.Enabled:=false;
        Repeat
          { Les fichiers sont affichés dans ListBox1 }
          { Les répertoires sont affichés dans ListBox2 }
          If ((Info.Attr And faDirectory)=0)
          then
          NombreDevisTemp:=NombreDevisTemp+1;
     
          { Il faut ensuite rechercher l'entrée suivante }
        Until FindNext(Info)<>0;
     
        { Dans le cas ou une entrée au moins est trouvée il faut }
        { appeler FindClose pour libérer les ressources de la recherche }
        FindClose(Info);
     
         if MessageDlg('Vous avez '+inttostr(NombreDevisTemp)+' nouveau devis envoyé. Les ajouter dans le stock ?', mtConfirmation,[mbYes,mbNo],0)=mrYes then
          begin
          ShowMessage('Les fichier sseront ajoutés dans la base de don');
          TempsVerificationNouveauDevis.Enabled:=true;
          end else
              TempsVerificationNouveauDevis.Enabled:=true;
      End;
    end;

  2. #2
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Salut et bienvenue sur DVP
    Vérifie si la bonne unité est déclarée dans uses et si elle y est, met-la à la fin de la liste
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  3. #3
    Aos
    Aos est déconnecté
    Membre habitué

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 189
    Points : 187
    Points
    187
    Par défaut
    Alors la, franchement, c'est genial. Ta reponse a resolu mon eternel probleme lol.

    Ca m'etais deja arrivé avec CloseFile, il pensait que c'etait Close().

    Par contre, je ne comprend pas pourquoi changé l'ordre des units resoud le probleme. Il y aurait plusieur fonction avec le meme nom dans differente unité ?

    En tout cas, merci beaucoup

  4. #4
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Citation Envoyé par Aos
    Par contre, je ne comprend pas pourquoi changé l'ordre des units resoud le probleme. Il y aurait plusieur fonction avec le meme nom dans differente unité ?
    C'est simple : si tu as 2 unités Unit1 et Unit2 qui contiennent chacune une fonction du même nom: si tu mets:
    uses Unit1, Unit2, ce sera la fonction de l'Unit2 qui sera prise en compte...
    En gros, la dernière déclaration de la fonction remplace la précédente
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  5. #5
    Aos
    Aos est déconnecté
    Membre habitué

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 189
    Points : 187
    Points
    187
    Par défaut
    Ah ok, je me disais que c'etait pas possible d'avoir 2 unités du meme nom qui ont 2 fonctions differentes. Je trouve ça un peu bete parce que il va y avoir un probleme si j'utilise 2 fonctions du meme nom dans un meme programme. nan ?
    Ou alors, il y a "encore" un truc a savoir ?

  6. #6
    bjl
    bjl est déconnecté
    Membre averti Avatar de bjl
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    263
    Détails du profil
    Informations personnelles :
    Localisation : Brésil

    Informations forums :
    Inscription : Décembre 2002
    Messages : 263
    Points : 338
    Points
    338
    Par défaut
    déclarer les 2 uses et ensuite

    Unit1.mafonction appellera la fonction de l'unit 1
    Unit2.mafonction appellera la fonction de l'unit 2

  7. #7
    Aos
    Aos est déconnecté
    Membre habitué

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 189
    Points : 187
    Points
    187
    Par défaut
    Ok parfait, merci pour tout

    A bientot.

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

Discussions similaires

  1. fichier .jnlp, comportement etrange
    Par orelero dans le forum JWS
    Réponses: 7
    Dernier message: 24/05/2008, 06h48
  2. Comportement etrange formulaire
    Par odelayen dans le forum Access
    Réponses: 8
    Dernier message: 22/09/2006, 14h49
  3. Comportement étrange d' apt-get install
    Par Captain_futur dans le forum Debian
    Réponses: 2
    Dernier message: 06/04/2006, 22h57
  4. [LG]repeat/until comportement etrange
    Par scifire dans le forum Langage
    Réponses: 11
    Dernier message: 25/03/2005, 21h56
  5. [langage] Comportement étrange d'une variable
    Par Spaz dans le forum Langage
    Réponses: 6
    Dernier message: 23/04/2004, 11h29

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