Date: prev next · Thread: first prev next last
2016 Archives by date, by thread · List index


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&amp;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+unsubscribe@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

Context


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.