Ciao a tutti. Dopo tanti tentativi e dopo aver scritto un po' dovunque senza risultati, e spesso senza nemmeno risposte, eccomi a chiedere qui.
Sviluppando LeenO.oxt, sto pian piano traducendo il codice sorgente dal Basic al Python. Lavorandoci ho scoperto di poter sfruttare l'IDE di Basic per disegnare i menù di Dialogo e poi poterli gestire per avviare gli scrips Python. In sostanza, a parte il dialogo diseganto con l'IDE di Basic (grande comodità), farei volentieri tutto con Python. Mi sono, però, imbattuto in un problema che non riesco a risolvere: ho regolarmente usato il selettore di macro di LibreOffice per attribuire al pulsante di turno lo script Python scelto, ma questo non produce nessun esito e nemmeno errori. Come faccio ad avviare gli script scritti in Python direttamente dai pulsanti nei dialoghi? Per ora, con una sub di Basic richiamo gli script e li avvio. Vorrei riuscire a fare a meno di Basic, ma come? Ho lo stesso problema con le toolbar che ho scritto nel file Addons.xcu. In pratica indicando l'URL completo del comando come segue: <value>vnd.sun.star.script:LeenO.oxt|pyLeenO|pyleeno.py$MioComando?language=Python&location=user:uno_packages</value> questo, poi, mi dà l'errore qui di seguito: com.sun.star.uno.RuntimeExceptionError during invoking function debug in module file:///C:/Users/giuserpe/AppData/Roaming/LibreOffice/4/user/uno_packages/cache/uno_packages/lu27325we9.tmp_/LeenO.oxt/pyLeenO/pyleeno.py (<class 'TypeError'>: MioComando() takes 0 positional arguments but 1 was given C:\Program Files (x86)\LibreOffice 5\program\pythonscript.py:870 in function invoke() [ret = self.func( *args )] ) Per settare il percorso di installazione della libreria di Python, ho regolarmente messo quanto segue nel manifest.xml <manifest:file-entry manifest:media-type="application/vnd.sun.star.framework-script" manifest:full-path="pyLeenO/" /> in cui "pyLeenO/" indica il path relavito ad applicativo installato. Disegnare i dialoghi direttamente in Python comporta _parecchio_ lavoro (anche se risolverebbe il problema alla fonte). Onestamente non mi va di aggiungere altro lavoro a quello che ho. Provo a fare un riepilogo. A parita di script 1. Avviare lo script Python tramite sub Basic appiccicata ad un pulsante o una icona delle toolbar, FUNZIONA. 2. Avviare lo script Python tramite sub Basic direttamente dall'IDE, NON funziona. 3. Appiccicare lo script Python tramite link diretto ad un pulsante di Dialog NON funziona. 4. Indicare un link diretto allo script Python nei menù icona delle toolbar NON funziona. 5. Avviare lo script dal selettore di macro di LibreOffice, FUNZIONA. Mi libererò mai di Basic? Quancuno sa farmi chiarezza anche solo indicandomi qualcosa da leggere? Infine un dubbio notturno mi assale: sono troppo avanti, sono troppo indietro oppure vivo in un universo parallelo? Grazie -- Giuseppe Vizziello - Associazione LibreItalia mob: +393282009610 http://www.giuSerpe.it - skype: giuserpe http://leeno.org LeenO - computo metrico assistito su LibreOffice G+: https://plus.google.com/communities/115347226088179821692 Telegram: https://telegram.me/joinchat/AfGmYASwBNiKItGqsahyKA -- Come cancellarsi: E-mail users+unsubscr...@it.libreoffice.org Problemi? http://it.libreoffice.org/supporto/mailing-lists/come-cancellarsi/ Linee guida per postare + altro: http://wiki.documentfoundation.org/Local_Mailing_Lists/it Archivio della lista: http://listarchives.libreoffice.org/it/users/ Tutti i messaggi inviati a questa lista vengono archiviati pubblicamente e non sono eliminabili