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;
Partager