Bonjour
J'utilise cette procedure pour sauvegarder des fichiers
En Delphi 2007 "NO PROBLEME".
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 procedure copier(Handle:HWND;Source,Cible:String); var lpFileOp:TSHFileOpStructA; TabFrom:array[0..16383] of char; i:integer; begin For i:=0 to length(Source)-1 do TabFrom[i]:=Source[i+1]; {-----préparation du paramètre lpFileOp -----} lpFileOp.Wnd:=handle; lpFileOp.wFunc:=FO_COPY; lpFileOp.pFrom:=TabFrom; // On aurait aussi put ecrire pFrom := @Chaine[1] //lpFileOp.pFrom := @Chaine[1]; lpFileOp.pTo:=PAnsiChar(Cible); lpFileOp.fFlags:=FOF_ALLOWUNDO; // Possibilité d'annuler la copie { fin de la préparation du paramètre lpFileOp} SHFileOperation(lpFileOp);// procède à la copie end;
Avec XE il me propose 2 erreurs
1) a cette ligne : lpFileOp.pFrom:=TabFrom;
[DCC Erreur] Utilitaires.pas(31): E2010 Types incompatibles : 'PAnsiChar' et 'array[0..16383] of Char'
2) a cette ligne :
SHFileOperation(lpFileOp);// procède à la copie
[DCC Erreur] Utilitaires.pas(36): E2010 Types incompatibles : '_SHFILEOPSTRUCTW' et '_SHFILEOPSTRUCTA'
Quelqu'un a t'il une idée.
Partager