Quelqu'un saurait-il m'expliquer pourquoi, dans ce code :
Code : Tout sélectionner
Procedure.i Fc_DeplacementFichierVersCorbeille(ArgFichier.s)
Define Fichier.SHFILEOPSTRUCT
If FileSize(ArgFichier)>0
*Tampon=AllocateMemory(Len(ArgFichier)+2)
If *Tampon
Fichier\hwnd=0
Fichier\pTo=0
Fichier\wFunc=#FO_DELETE
Fichier\pFrom=@ArgFichier
Fichier\fFlags=#FOF_ALLOWUNDO|#FOF_NOCONFIRMATION
CopyMemoryString(ArgFichier,@*Tampon)
CopyMemoryString(Chr(0))
CopyMemoryString(Chr(0))
Req=SHFileOperation_(@Fichier)
FreeMemory(*Tampon); => Erreur : "L'argument 'MemoryID' spécifié n'est pas valide"
EndIf
EndIf
ProcedureReturn Req
EndProcedure
NomFichier.s="C:\Temp.tmp"
If CreateFile(0,NomFichier)
For Compteur=1 To 100
WriteStringN(0,"Ligne "+Str(Compteur))
Next
CloseFile(0)
Debug Fc_DeplacementFichierVersCorbeille(NomFichier)
EndIf
Code : Tout sélectionner
FreeMemory(*Tampon)
Merci