Bonjour,
J'avais lancé un sujet dans le forum Delphi pour avoir une aide quant à la copie d'un répertoire ainsi que tout son contenu (sous-répertoires inclus).
On m'a renvoyé vers le FAQ qui répondait à cette question. Par contre, ayant découvert Lazarus, j'ai essayé d'utiliser la fonction CopyFolder :
Elle ne fonctionne pas (alors qu'elle fonctionne parfaitement sous Delphi) et me renvoie cette erreur :
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 function CopyFolder(FromFld, ToFld: string): boolean; var fos: TSHFileopStruct; begin // il faut supprimer les antislashs de fin sinon vous aurez droit à un message d'erreur FromFld := ExcludeTrailingPathDelimiter(Trim(FromFld)); ToFld := ExcludeTrailingPathDelimiter(Trim(ToFld)); FillChar(fos, SizeOf(fos),0); with fos do begin wFunc := FO_COPY; pFrom := PChar(FromFld+#0); pTo := PChar(ToFld+#0); fFlags := FOF_SILENT or FOF_NOCONFIRMATION or FOF_NOCONFIRMMKDIR; end; Result := ShFileOperation(fos)=0; end;
Est-ce que quelqu'un aurait une idée ?Unit1.pas(30,3) Hint: Local variable "fos" does not seem to be initialized
Unit1.pas(38,32) Error: Incompatible type for arg no. 1: Got "_SHFILEOPSTRUCTA", expected "LPSHFILEOPSTRUCTW"
Unit1.pas(46) Fatal: There were 1 errors compiling module, stopping
Merci d'avance.
Lohot
Partager