Bonjour,
Je viens de trouver la raison de ce bug :
Une seule macro évènement :
Sub CmdSelectionner(Event As Object)
On Local Error Goto Erreur
Set oCmdSelectAutorities = FabriquerTApplication.CmdSelectAutorities
oCmdSelectAutorities.CmdSelectionner()
Exit_Sub:
Exit Sub
Erreur:
TraceError("ERROR", Err, Name, Erl)
Stop
End Sub
qui avait le même nom qu'une variable global CmdSelectionner = 5000
déclarée dans un autre module. L'appel à la méthode
oCmdSelectAutorities.CmdSelectionner() ne semble pas poser de problème,
c'est du code pseudo object ...
A la compilation cela passe sans aucune erreur signalée (interprétation
basic oblige diront certains sauf que dans mes modules je déclare quand
même Option explicit ...
Je sais maintenant que chaque entorse au domaine des noms est
dramatiquement fatidique pour LibreOffice Basic. Mais je ne m'attendais
pas à un plantage aussi violent entraînant le crash du debugger (plus
aucun point break positionnable) et le crash entier de l'application
libreoffice avec l'ensemble des autres documents ouverts ... C'est un
cloisonnement des process digne du Titanic ...
Et aussi je ne m'attendais pas à un syndrôme d'appel récursif provoqué
par une variabe et une procédure ...
De plus cette macro n'était même pas appelée par mon application avant
le crash, elle répondait à un bouton dans une boite de dialogue non
ouverte. Mais je comprends que Basic précharge un maximum de code et je
ne comprends pas bien ce qu'il fait avec ce code avant son execution ...
Existe-t-il une extension module qui aide au développement, avec par
exemple un précompilateur pour vérifier la redondance des variables et
valider un maximum de règles spécifiques au langage Basic OOo ?
Merci déjà pour votre réponse...
Patrick
Le 05/11/2018 à 21:00, Thierry Jeanneret a écrit :
Bonsoir,
Peut-être que si nous avions le code source de cette macro ?
Thierry
--
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour vous désinscrire
Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy
Context
Re: [fr-users] Base : Mémoire de pile insuffisante sur appel MsgBox "Hello World" ... · Jean-Francois Nifenecker
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.