Bart Aimar wrote:
Qualche settimana fa avevo seccato un po' tutti con il mio problema di
come installare automaticamente una libreria condivisa.
Paolo Mantovani sembrava decisamente propendere per un package... ma non
avendo ben capito come si prepara e come lo si possa trasportare insieme
al file di contabilità avevo escogitato un'altra soluzione.
Io di solito faccio così:
Di seguito c'e un risposta ad un mio post di Paolo Mantovani apparso (il
post, non P.M.)
sul NG di OOo, sono i passi per creare un Package per una Libreria. Nel
caso incontri
difficolta' fatti sentire io non ho avuto problemi di sorta.
Per creare un package:
1) creare una libreria condivisa nel modo solito, attraverso l'IDE di
StarBasic
2) aggiungere i moduli di codice e i dialoghi
3) localizzare la directory contenente la libreria nel percorso di
installazione utente di ooo. Tipicamente (in Linux) :
~/.openoffice.org2/user/basic/MiaLibreria/
Selezionare la cartella e comprimerla in un archivio zip
es:
ProgettoMiaLibreria.zip
L'archivio dovrà contenere l'intera directory e non i singoli files
"sparsi"
Illustrazione (visualizzare con font a larghezza fissa):
ProgettoMiaLibreria.zip
|
+-MiaLibreria/
|
+-Module1.xba
|
+-script.xlb
|
+-ecc..
Ora il package è pronto per essere installato mediante il package manager
Se si vuole installare il package nello stesso sistema dove è stato creato
occorre ricordarsi di rimuovere o rinominare la libreria originale, per
evitare conflitti di nomi.
Nota tecnica:
Il nuovo scripting framework, introdotto dalla versione 2.0 richiede
che il
package contenga il famigerato manifest.xml
Inoltre i packages dovrebbero avere l'estensione *.uno.pkg anzichè il
semplice *.zip
Per ottenere questo risultato in modo semi-automatico io di solito faccio
cosi:
1) mediante il dialogo 'package manager' (menu strumenti -> gestione
pacchetti) installare il package precedentemente creato:
ProgettoMiaLibreria.zip
(notare che l'estensione zip non è stata - per ora - modificata!!)
una volta che l'installazione è andata a buon fine, riaprire il dialogo
package manager e selezionare il proprio pacchetto nella lista dei
pacchetti installati.
Premere il pulsante "Esporta..." e rinominare il file con l'estensione
*.uno.pkg
Il risultato sarà lo stesso archivio che avevate creato in precedenza
ma con
l'aggiunta della directory META-INF/
contenente il file manifest.xml generato automaticamente da ooo
Questo creava qualche problema, perchè esitevano due variabili globali
con il medesimo nome, una dichiarata a livello di doccumento ed una
dichiarata nella libreria condivisa...
Ho risolto eliminando il modulo che conteneva quella var, e
facendegliela creare ex novo dalla macro alla fine dell'installazione
della libreria.
Le restanti macro sono macro identiche e non mi sembra che creino
conflitti.
Per evitare conflitti con i nomi di Variabili e Routine usa la notazione
estesa
es... MiaLibreria.miaVariabile, MiaLibreria.miaFunzione
in questo modo eviti eventuali conflitti.
Ora mi sto chiedendo se e quali vantaggi ci possano essere a distribuire
Ultimus con allegato uno zip che contiene la libreria condivisa.
Se dentro a qualche Procedura o Funzione apporti delle modifiche
distribuisci
solo il package, e non tutto il programma.
Ciao JAck
--
Email.it, the professional e-mail, gratis per te: http://www.email.it/f
Sponsor:
Prova GRATIS per 15 giorni! DVDNetRent e ricevi a casa 3 film. Puoi scegliere
tra migliaia di titoli
Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=4632&d=2-3
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]