Page 1 sur 1

[RESOLU] mon prog plante avec FreeMemory(*imemory2) et ...

Publié : mer. 20/févr./2013 19:24
par GallyHC
Bonjour tous,

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
La je seche en fait?

Cordialement,
GallyHC

Re: mon prog plante avec FreeMemory(*imemory2) et unicode

Publié : mer. 20/févr./2013 19:52
par nico
*imemory1 = AllocateMemory(StringByteLength(sfilename) + (sizeof(character) * 2))

Re: mon prog plante avec FreeMemory(*imemory2) et unicode

Publié : mer. 20/févr./2013 20:44
par GallyHC
Bonjour nico,

Merci cela fontionne beaucoup mieu...

Cordialement,
GallyHC