Bonjour,
Il n'est pas besoin d'écrire beaucoup de code pour perdre beaucoup de
temps à déboguer avec ce basic... Je crois qu'on est loin de ceinture et
bretelle, juste ceinture ou bretelle ce serait déjà bien ...
Je pense qu'avec Microsoft Access et le langage Visual Basic, qui si je
l'ai bien compris serait object, l'environnement me semble plus
intéressant. Mais loin de moi l'idée de solliciter MS$. Aussi le projet
de librairie Access2Base présente l'objectif de fournir environ 200
commandes pour programmer une base, en ce basant sur Access, à la place
de l'usine a gaz Uno, serait un bon moyen de simplifier la programmation
d'une base sans limiter les besoins des utilisateurs. On peut aussi voir
les choses autrement et se dire que si l'on produit trop de code c'est
que le framework de base n'est pas bon. Voir à ce sujet Paul Dilazia qui
dans son livre Windows++ critiquait les interfaces de MS$...
Je n'ai pas la prétention de produire une application d'entreprise avec
LibreOffice, mais l'intérêt d'avoir ma base qu coeur de la suite
bureautique est de faciliter l'intégration à la production des documents.
Selon moi il y a quelques fonctionnalités attendues pour simplifier la
programmation d'une base, je dirais des fonctions pour gérer des Smarts
forms et remplacer ce langage basic par Java ou Python mais avec une
documentation complète que je n'ai pas encore trouver...A noter que je
ne trouve d'avantage de livre spécifique à la programmation de Uno ...
Sinon, quelle alternative à Base pour développer rapidement les
interfaces d'une base de donnée compatible sur Windows et Linux, pouvant
s'exécuter sur une simple clé USB: Lazarus ? Un autre RAD Open source ?
Patrick
Le 07/11/2018 à 14:13, Thierry Jeanneret a écrit :
Bonjour,
Mon sentiment au sujet du développement de Macros sur LibreOffice est qu'on
peut faire beaucoup de choses, mais qu'il faut être extrêmement prudent. Il n'y
a à ma connaissance que très peu d'outils fournissant ceinture ou bretelle, le
seul remède est d'être très attentif. Je pense aussi qu'il est prudent de ne
pas viser trop haut, de ne pas vouloir forcément informatiser Total juste avec
LibreOffice, comme image. Mon appréciation personnelle est qu'il s'agit d'une
suite bureautique, qu'on peut l'adapter au domaine traité, mais qu'il est sage
de rester raisonnable dans ses ambitions.
Toutefois Jean-François peut avoir une autre opinion, plus étayée, que moi sur
ce sujet. De toutes manières il est bon de se référer aux docs qu'il a
produites, ses fiches sont vraiment des gagnes-temps remarquables.
Thierry
Le 7 nov. 2018 à 14:05, Patrick Gelin <[email protected]> a écrit :
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 à [email protected] pour vous désinscrire
Les archives de la liste sont disponibles à
https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy
--
Envoyez un mail à [email protected] pour vous désinscrire
Les archives de la liste sont disponibles à
https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy