automatisch LoadLibrary

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: automatisch LoadLibrary

Beitrag von Stephan »

Aber wie schaffe ich es die Bibliothek zu laden?
So wie es in der OOo-Hilfe beschrieben ist?

Also:

Code: Alles auswählen

GlobalScope.BasicLibraries.loadLibrary( "Library1" )
weil er den Code ja nicht findet, solange die Bibliothek nicht geladen wurde.


Das wäre mir neu, hast Du dazu einen Link?
Meiner Meinung nach sind so Dokumentbibliotheken problemlos zu laden und lediglich OOo-Bibliotheken nicht, was aber auch in der Natur der Sache liegt da Letztere immer über GlobalScope angespochen werden.


Gruß
Stephan
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: automatisch LoadLibrary

Beitrag von DPunch »

Aloha
Gaang hat geschrieben:Auf die andere Library (die in der Application liegt) kann ich offenbar zugreifen, obwohl sie vorher nicht explizit geladen wurde.
Das gilt in der Regel für die "Standard"-Library.
Gaang hat geschrieben:Kann ich ja nur in einem Makro aufrzfen, dass in der Standard-Library liegt. Wenn es in der zu ladenden Library liegt, dann beisst sich die Katze in den Schwanz.
Nein, das kannst Du überall aufrufen.
Sobald der Pfad explizit angegeben ist (z.B. wenn Du einem Button in Deiner Extension ein Makro zuweist), wird das Makro, sofern vorhanden, *immer* gefunden, dafür gibt es schliesslich einen expliziten Pfad. Völlig egal, wo das Makro liegt. Von diesem Moment an ist die Bibliothek auch geladen und es kann auf alle Makros darin zugegriffen werden.
Gaang hat geschrieben:Die Frage wäre dann, wie ich in die Standard-Lib ein Modul per Extension reinbekomme.
Ist überhaupt nicht nötig. Zumindest in Deinem Fall nicht.
Dein Problem war, wie Du ja schon festgestellt hast, nur die Dialog-Bibliothek. Diese wird durch den Aufruf eines Makros innerhalb der Bibliothek nämlich nicht mitgeladen.
Über den Rest brauchst Du Dir keinen Kopf machen, zumindest wenn (wovon auszugehen ist) der Button auf der Toolbar ein Makro aus Deiner Extension aufruft.
Antworten