Serait-il possible de voir le CallStack
dans VBA pour MS Access 2003? C'est-à-dire, serait-il possible de voir à partir de quoi procedure
ou function
a été appelé un autre function
?Comment faire pour vérifier la pile d'appel
Répondre
Il n'y a pas de manière programmatique dans VBA pour voir la pile d'appels que je connais. La solution habituelle à ce problème est d'utiliser une structure pour suivre l'appel des fonctions, mais cela me semble toujours un truc, et vraiment utile uniquement lors de la programmation (pas au moment de l'exécution), auquel cas il me semble que le VBE capacité intégrée pour voir la pile d'appels est suffisante. Et, BTW, j'ai toujours mis le bouton de pile d'appel sur ma barre d'outils VBE, puisque c'est l'une des fonctions les plus fréquemment utilisées pour moi. J'ajoute aussi le bouton de compilation - Je pense que c'est fou de ne pas être dans la barre d'outils par défaut car cela encourage les gens à coder sans jamais forcer une compilation. Encore une fois, Access 2000 n'utilisait même pas Option Explicit par défaut (supposément par souci de cohérence avec les autres applications utilisant le VBE - en d'autres termes, accolade Access afin de le rendre cohérent avec les applications qui ne sont pas presque codées lourd).
Mais je digresse ...
Lors de l'exécution, menu Affichage -> Pile d'appel (ou appuyez sur CTRL + L).
Finalement, ajoutez un paramètre optionnel à votre fonction, et passer le nom de l'appelant de cette façon. Pour les formulaires, vous pouvez utiliser Me.Name
comme paramètre.
Oui, c'est possible, MAIS ce n'est pas très utile!
Private Declare Sub SetMode Lib "vba332.dll" Alias "EbSetMode" (ByVal lngMode As Long)
Private Declare Function GetCallStackCount Lib "vba332.dll" Alias "EbGetCallstackCount" (lngCount As Long) As Long
Private Declare Function GetCallStackFunction Lib "vba332.dll" Alias "EbGetCallstackFunction" (ByVal Lvl As Long, ByRef strBase As String, ByRef strModule As String, ByRef strFunction As String, ByRef Done As Long) As Long
Avant d'utiliser GetCallStackCount et GetCallStackFunction appel setMode (2), et après setMode (1).
- 1. Comment vérifier l'état actuel de la pile de threads
- 2. Comment faire pour vérifier un Gridview vide
- 3. Comment obtenir la pile de pile dans un appareil mobile?
- 4. faire toutes les variables locales sur la pile
- 5. Comment obtenir une pile pour l'exception
- 6. Comment faire pour obtenir une trace de pile à partir du fichier de vidage sous Windows
- 7. Comment reconstruisez-vous la pile GWT History?
- 8. Comment afficher la pile d'appels avec DTrace
- 9. ILGenerator: Comment ajouter booléenne à la pile
- 10. Comment faire pour exclure SyntaxError?
- 11. SQL - comment vérifier la table pour de nouvelles données?
- 12. Réinstallez la pile de développement
- 13. Javascript pour vérifier la connexion internet
- 14. Comment faire pour capturer SoapRequest.xml et SoapResponse.xml
- 15. Comment vérifier si la collection est vide dans NHibernate (HQL)?
- 16. SSA pour le code machine de la pile
- 17. Afficher la trace de la pile DNN?
- 18. Comment faire pour suivre la procédure?
- 19. Comment faire pour détecter la connexion ftp
- 20. Comment obtenir l'objet en cours d'exécution pour une pile?
- 21. Héritage C++ pour les objets sur la pile
- 22. Vérifier la restauration SharePoint
- 23. Comment faire pour vérifier dans un NSAssert d'une variable est (null)?
- 24. équivalent de temps pour vérifier la mémoire
- 25. Instruction SQL pour vérifier la connectivité?
- 26. Comment améliorer la productivité de ma pile Flex/Java?
- 27. Recommandations de la pile ZigBee
- 28. Tableau dynamique dans la pile?
- 29. Aide pour le vidage de la pile du serveur SQL
- 30. Linux Outil pour lire les valeurs de la pile
C'est le genre de tâche pour laquelle ASM est bon. – pyon