Debordement de pile

sebrs1 Messages postés 81 Date d'inscription dimanche 15 avril 2001 Statut Membre Dernière intervention 20 novembre 2012 - 6 mai 2002 à 21:37
cs_wyckit Messages postés 24 Date d'inscription samedi 14 juin 2003 Statut Membre Dernière intervention 25 octobre 2005 - 9 mai 2004 à 15:57
bon ça fait un moment que j'ai une erreur en lançant mon programme, j'ai un debordement de pile de je ne sais quoi et je sais pas comment y remedier. et quand j'ai pas d'erreur de debordement, j'ai les grosse erreurs qui veulent tout dire :-).

quelqu'un peut m'aider?
@+
Sebrs1

10 réponses

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
6 mai 2002 à 21:49
Ben on voudrait bien, mais avec quoi on commence, hein ?

May Delphi be with you.
0
cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
6 mai 2002 à 23:47
DelphiProg à raison : on veut bien t'aider mais il faudrait nous donner des détails...

--- :sleepy) Nono du Moulin :sleepy) ---
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
7 mai 2002 à 00:01
Utilises-tu des composants orientés données ?
As-tu modifié la taille initiale de la pile de l'application ?
Utilises-tu des fonctions récursives ?

Sois plus explicite !

May Delphi be with you.
0
sebrs1 Messages postés 81 Date d'inscription dimanche 15 avril 2001 Statut Membre Dernière intervention 20 novembre 2012
7 mai 2002 à 06:48
je sais déja pas comment changer la taille de la pile, je c meme pas c quoi, j'utilise les composant normaux, pas de composants speciaux, et je c pas c quoi le fonctions récursives.
bref, un vrai débutant :-)
il FAUT m'aider
@+
Sebrs1
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
7 mai 2002 à 08:13
Mets-nous sur une piste en nous décrivant ce que ton programme réalise, si tu utilises des composants tiers...

May Delphi be with you.
0
cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
7 mai 2002 à 16:40
Bon encore quelques questions :
- Fait tu des traitements particuliers dans les OnCreate ?
- Utilise-tu des tableau sans controler les indexs ?
- Quand tu exécute ton appli dans delphi sur quelle ligne s'arrète l'exécution ?
- Essaye de mettre dans Projet->Options->Compilateur :
cocher "Verifier les limites"
cocher "Vérifier les E/S"
cocher "Vérifier les débordement"
puis RECONSTRUIT ton appli, l'erreur est-elle toujours la même ? au même endroit ?

--- :sleepy) Nono du Moulin :sleepy) ---
0
sebrs1 Messages postés 81 Date d'inscription dimanche 15 avril 2001 Statut Membre Dernière intervention 20 novembre 2012
7 mai 2002 à 18:40
le seul truc special dans oncreate, c'est que je charge des donnée dans un fichier ini, le probleme, c'est que delphi ne m'indique aucune ligne quand ya l'erreur. ta procedure ne m'a pas aidé, le pb est tjs là. et qd ya pas le debordement de pile, ya une erreur des que je bouge le petit doigt de type "le projet machin a rencontré une exception de classe machin chose bidule...."

j'ai vu sur le forum quelqu'un qui a le meme probleme que moi, et ce message n'a pas de réponse.

merci d'avance
@+
Sebrs1
0
cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
7 mai 2002 à 20:39
Alors il va falloir essayer de cerner le lieu du problème :
- Soit tu ajoute des ShowMessage un peu partout pour voir par ou tu passes avant l'erreur
- Soit tu exécute ton programme par F7 et F8 pour suivre l'évolution et voir ou apparaît l'erreur.

Dans le OnCreate que fait-tu éxactement ?
L'erreur est-elle avant, pendant ou après ?

Ajoute aussi des Try Except dans tous les coins particuliers de ton appli pour essayer de capter l'exception :
Try
...
Except
On E:Exception do ShowMessage('Erreur ici :'#13+E.Message);
End;

Utilises-tu des fonctions API ? des Pchar ? des pointeurs ?

--- :sleepy) Nono du Moulin :sleepy) ---
0
cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
8 mai 2002 à 03:03
Voici la source de tout tes ennuis :
Dans la procédure LoadOpt :
...
if fileexists(s) then begin
image4.Picture.LoadFromFile(s);
papierpeint := s;
end
else
// image4.picture.Free; // A NE PAS FAIRE
image4.picture:=nil; // A faire pour vider l'image
ini.free;

Il ne faut JAMAIS libérer un composant créé par Delphi. Pour vider l'image il faut affecter la valeur NIL.

Supprime aussi les options de vérification de limites et de débordement, car elles génèrent dans ton appli une serie d'erreur dues simplement à des comparaison d'entier signé/non signé.

Comme ça elle fonctionne sans erreur.

--- :sleepy) Nono du Moulin :sleepy) ---
0
cs_wyckit Messages postés 24 Date d'inscription samedi 14 juin 2003 Statut Membre Dernière intervention 25 octobre 2005
9 mai 2004 à 15:57
Comment modifier la taille de la pile ? bref comment faire un Buffer OverFlow en Delphi ?????? ca m'interesse enormement
0
Rejoignez-nous