Page 1 sur 1

EndProcedure

Publié : mer. 05/juil./2006 23:52
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.

Publié : jeu. 06/juil./2006 1:15
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:

Publié : jeu. 06/juil./2006 7:58
par Droopy
Effectivement.

Merci Flype :D