EndProcedure

Archive.
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

EndProcedure

Message par Droopy »

Ce code s'arrète sur la ligne EndProcedure avec l'erreur "Invalid memory access"

Code : Tout sélectionner

Procedure Remplace(*Pointeur,ChaineCherchee.s, ChaineRemplacee.s)
  
  PokeS(*Pointeur,ReplaceString(PeekS(*Pointeur),ChaineCherchee,ChaineRemplacee))
  
EndProcedure

Texte.s="If ReadFile(#FichierSource,²d:\LibTest.pb²)"
  
Remplace(@Texte,"²","<br>")
Remplace(@Texte,"  ","&nbsp; ")
J'ai beau cherché je sais pas d'où ça vient, si quelqu'un a une idée.
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

après un petit doute quant à un bug, en fait c'est normal:

tu 'poke' une zone mémoire plus assez grande pour ta nouvelle chaine (qui est forcement plus longue).

il faut supposer à juste titre que replacestring() alloue une nlle chaine, donc une nouvelle adresse mémoire, donc ton *pointeur (voir meme @Texte) devient obsolete.

tu me suis ? :D :wink:
Image
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

Message par Droopy »

Effectivement.

Merci Flype :D
Répondre