Salut a tous, je voudrais savoir s'il y a moyen de vider le stack en delphi ou bien réécrire à l'adresse SP de la pile dans le but de pouvoir faire des appells successifs de procedure en évitant le stack overflow.
Salut a tous, je voudrais savoir s'il y a moyen de vider le stack en delphi ou bien réécrire à l'adresse SP de la pile dans le but de pouvoir faire des appells successifs de procedure en évitant le stack overflow.
bah une idée.
met un point d'aret au début de votre procedure
dé l'aret va voir la fenetre CPU surement tu aura une idée de point d'entrée des procedures en delphi ( a la différence si tu fait
Code : Sélectionner tout - Visualiser dans une fenêtre à part procedure maproc;assambelur asm end;
PAS DE DESTIN, C'EST CE QUE NOUS FAISONS
en fait, le problème quand je fais du code assembleur pour suprimer le dernier enregistrement de la pile(SP) ca me génère un acces violation... donc apparemment il n'y a pas moyen.
comment tu suprime??Envoyé par heider
normalement fait un simple pop,,non?
PAS DE DESTIN, C'EST CE QUE NOUS FAISONS
normalement oui mais le code assembleur génère une violation d'accès, mais j'ai trouvé une solution, je ne lance pas ma procédure lorsqu'elle est lancée x fois...
autre solution qui est mieu utlisé les messages avec postmessage
met ton code dans une procedure qui répond à un message personalisé
PAS DE DESTIN, C'EST CE QUE NOUS FAISONS
ca ne sert a rien, je n'ai pas besoin de poster un message, pas besoin d'un PeekMessage non plus, en fait, je faisait trop d'appels a une meme prcedure ce qui faisait que la pile se remplissait a chaque passage et finissait par déborder ...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager