OVH Cloud OVH Cloud

espace pile insuffisant

1 réponse
Avatar
fred
J'ai cr=E9e une petiti application access qui fonctionne=20
tr=E8s bein et lors de son installation sur un nouveau PC=20
j'ai le message suivant :

espace pile insuffisant

Je ne voie pas d'o=F9 cela peux venir et ne trouve rien sur=20
le sujet.

Merci de votre aide !
Fred

1 réponse

Avatar
Michel Walsh
Salut,


C"est générallement dû à un appel récursif (une fonction qui
s'appelle elle-même), plus ou moins évident dans certains cas. Ainsi,


On Error Goto Toto

...

x= 1.0 / 0.0

....
Toto:
x= 1.0 / 0.0



Évidemment, ici, ce n'est pas vraiement récursif mais si au lieu de
diviser par zéro je demandais un fonction, qui elle tombe sous la capture du
"On Error", ce serait de la récursion (un peu cachée). Et la dite fonction
pourrait tomber en erreur parce que sur un des PC, un dll est manquant, ou
autre condition locale. Je ne dis pas que c'est cela qui se produit, c'est
seulement une tentative d'illustration.


Alors, le plus "simple" est encore de lancer le code sur la machine
problème (j'imagine que c'est possible), et de commencer du pas-à-pas. Il
n'est pas requis que l'on passe individuellement sur toutes les
instructions, lors de la première passe, on cherche à localiser le problème,
donc, Shift-F8 ( continuer l'exécution jusqu'à la position du curseur ) et
autres trucs, tel le "step over" du Debug peuvent être utiles.


Public Function Commence( )

Debug.Assert False ' le code arrête ici

FaisQuelquechose( )

EtEncoreQuelquechose( )

EtEncoreEncore( )

End Function


Ainsi, lors de la première passe, le code s'arrête là où indiqué. Je peux
faire du Step Over " FaisQuelqueChose( ) " et si le curseur revient, ce
n'est pas là qu'est le problème. Je peux alors continuer avec de Step Over.
À un moment donné, j'obtiens l'erreur! Supposons qu'elle se produit alors
que j'avais essayé EtEncoreQuelqueChose( ). Lors de la seconde passe, le
code s'arrête, je place le curseur sur la ligne EtEncoreQuelqueChose( ) et
effectue Shift-F8 (ou, alternativement, déménage mon "Debug.Assert False"
sur la ligne précédante EtEncoreQuelqueChose( ) ) et là, je fais un Step
Into (un Step Over me referait l'erreur sans apporter plus de précisions que
je n'aurais alors déjà obtenue)... et je recommence mon approche de
détection. Déverminage standard, quoi.




Espérant être utile,
Vanderghast, Access MVP



"fred" wrote in message
news:019001c3b385$a97a9070$
J'ai crée une petiti application access qui fonctionne
très bein et lors de son installation sur un nouveau PC
j'ai le message suivant :

espace pile insuffisant

Je ne voie pas d'où cela peux venir et ne trouve rien sur
le sujet.

Merci de votre aide !
Fred