Hallo, alle zusammen!
Ich habe viele kleine nützliche Prozeduren, wie jeder Entwickler eigentlich.
In Access war die Nutzung so einer Sammlung einfach: man legt ein Modul an, deklariert alle Prozeduren als Public und schon sind sie von überall zugänglich.
In Open Office habe ich festgestellt ist es nicht so ganz leicht. Alle Prozeduren eines Moduls sind erst sichtbar, wenn das Modul geladen wurde.
Das läuft doch darauf hinaus dass man in jedem Modul gleiche Hilfsprozeduren haben soll.
Man könnte denken eine Bibliothek unter "Meine Makros" würde das Problem lösen. Die Sache ist aber: wenn man das Programm weitergeben möchte wird dieses Modul nicht mitgegeben.
Gibt es eine Möglichkeit dieses Problem zu lösen? Sprich: gibt es im Open Office so ein Modul, dessene Funktionen/Prozeduren vom Start an sichtbar sind UND das zusammen mit der Datenbank weitergegeben werden kann.
Prozedurensammlung
Moderator: Moderatoren
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Prozedurensammlung
Du kannst eine Bibliothek durch Code laden:
Und Du kannst [solange, bis es Makros in Base gibt***1] Deine Bibliothek als Extension verteilen: Extras>Makros>Makros verwalten...>Makro...***2>Verwalten...>Bibliotheken>Export
Hilft Dir das?
***1 vorgesehen ab Version 3.0
***2 Bezeichnung ab 2.4, davor "OpenOffice.org Basic"
Code: Alles auswählen
If NOT GlobalScope.BasicLibraries.isLibraryLoaded( "DeineLIB" ) Then
GlobalScope.BasicLibraries.loadLibrary( "DeineLIB" )
End if
Und Du kannst [solange, bis es Makros in Base gibt***1] Deine Bibliothek als Extension verteilen: Extras>Makros>Makros verwalten...>Makro...***2>Verwalten...>Bibliotheken>Export
Hilft Dir das?
***1 vorgesehen ab Version 3.0
***2 Bezeichnung ab 2.4, davor "OpenOffice.org Basic"
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Prozedurensammlung
Die Idee klingt gut. Danke erstmal!
Aber irgendwie komme ich da nicht ganz durch.
Ich habe zwei Formulare frmMyForm1 und frmMyForm2. Beiden soll meine Prozedurensammlung zur Verfügung stehen. Wie sol ich vorgehen? In einem der beiden die Sammlung speichern und dann per laden? Oder in einer externen Datei speichern und importieren?
Also mit dem Laden klappte es nicht: Es wird ein "NoSuchElement" exception geschmießen.
Und falls die Sammlung importiert werden soll - soll man dann beim Weitergeben jedes Mal aufs neue einbinden?
Aber irgendwie komme ich da nicht ganz durch.
Ich habe zwei Formulare frmMyForm1 und frmMyForm2. Beiden soll meine Prozedurensammlung zur Verfügung stehen. Wie sol ich vorgehen? In einem der beiden die Sammlung speichern und dann per
Code: Alles auswählen
GlobalScope.BasicLibraries.loadLibrary(...)
Also mit dem Laden klappte es nicht: Es wird ein "NoSuchElement" exception geschmießen.
Und falls die Sammlung importiert werden soll - soll man dann beim Weitergeben jedes Mal aufs neue einbinden?
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Prozedurensammlung
Du exportierst die Bibliothek "MeineLIB" als Extension.
Das ergibt eine MeineLIB.oxt. Diese kannst Du verteilen. Deine Empfänger installieren sie durch Doppelklick.
Neuere Versionen lassen sich durch erneutes Installieren überschreiben.
Im Code Deiner Formulare lässt sich die Bibliothek durch die angegebene Anweisung laden. Das funktioniert hier - wenn Du einen Fehler bekommst hast Du Dich vertippt....?!
Klappt das nun?
Das ergibt eine MeineLIB.oxt. Diese kannst Du verteilen. Deine Empfänger installieren sie durch Doppelklick.
Neuere Versionen lassen sich durch erneutes Installieren überschreiben.
Im Code Deiner Formulare lässt sich die Bibliothek durch die angegebene Anweisung laden. Das funktioniert hier - wenn Du einen Fehler bekommst hast Du Dich vertippt....?!
Klappt das nun?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Prozedurensammlung
SUPER! Das klappt ja wunderbar! Es war gerade das was ich brauchte. Vielen Dank!
Noch mal 'ne Frage: wird diese Library gleich beim Start mitgeladen oder sollte man sich lieber mit absichern?
Noch mal 'ne Frage: wird diese Library gleich beim Start mitgeladen oder sollte man sich lieber mit
Code: Alles auswählen
GlobalScope.BasicLibraries.loadLibrary(...)
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Prozedurensammlung
Ausser der STANDARD Bibliothek wird keine vorhandene Lib geladen.
Du musst die Anweisung nutzen.
Du musst die Anweisung nutzen.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Prozedurensammlung
Vielen Dank nochmals für die Hilfe!