j'ai un petit problème avec la fonction ci-dessous en gros si je lance mon prog en non unicode pas de problème, mais des que j'active l'unicode (j'en ai besoin pour ce prog) y a un plantage a la ligne "FreeMemory(*imemory2)". Acune alerte au niveau du debugger juste windows qui me dit que le programme a cesser de fonctionné. Voila le code.
Code : Tout sélectionner
Procedure EXPLORER_RecycleFile(sfilename.s)
; ROUTINE DE SUPPRESSION DANS LA CORBEILLE.
Define lresult.l
Define *imemory1
Define *imemory2
Define shfileops.SHFILEOPSTRUCT
*imemory1 = AllocateMemory(Len(sfilename) + 2)
*imemory2 = *imemory1
CopyMemoryString(sfilename, @*imemory1)
CopyMemoryString(Chr(0), @*imemory1)
CopyMemoryString(Chr(0), @*imemory1)
With shfileops
\pFrom = *imemory2
\wFunc = #FO_DELETE
\fFlags = #FOF_ALLOWUNDO | #FOF_NOCONFIRMATION
EndWith
lresult = SHFileOperation_(shfileops)
If lresult = 0
lresult = #True
Else
lresult = #False
EndIf
FreeMemory(*imemory2)
ProcedureReturn lresult
EndProcedure
Cordialement,
GallyHC