Installationsprogramm

In StarBasic gibt es diverse Befehle, um Bibliotheken zu behandeln (allesamt in der Klasse Application):

Während es die letzten beiden erlauben, bereits installierte Bibliotheken Programm-gesteuert zu laden bzw. aus dem Speicher zu befreien, die zweite eine einmal installierte Bibliothek wieder löscht, wollen wir uns primär mit der ersten beschäftigen.

Mit AddLibrary lässt sich eine Bibliothek im System installieren. Die Syntax lautet gemäss Dokumentation wie folgt:

AddLibrary(LibraryFileName As String, Mode As Long, Replace As Boolean, LibraryName As String)

Die einzelnen Parameter besagen, wo das Original der zu installierenden Bibliothek liegt, wie die Bibliothek gespeichert werden soll (externe Datei, verknüpft etc.), ob eine bestehende überschrieben werden soll und wie sie im System zu heissen hat. Der erste Parameter zusammen mit der Möglichkeit, ganze Bibliotheken in StarWriter-Dokumente einzubinden, eröffnen der Programmverteilung wunderbare Wege. Auch komplexere Makros oder gar ganze Sammlungen lassen sich mit nur einer einzigen Datei ausliefern! Die Datei «Makros für Markus.sdw» könnte damit nicht nur als Dokumentation für die Makrosammlung dienen, sondern gleich auch ein Installations-Programm beherbergen, welche die eigentliche Bibliothek im System anmeldet. Bereits folgender Einzeiler genügt:

Sub InstallLibrary
   Application.AddLibrary(ActiveDocument.FullName, 0, True, "MarkusMakros")
End Sub

Vom Textdokument her aufgerufen (z.B. durch einen Button im Text) liefert «ActiveDocument.FullName» Name und Pfad der Datei, in welcher die Bibliothek «MarkusMakros» enthalten ist. Diese wird im System installiert, wobei sie eine allenfalls bereits vorhandene Version gnadenlos überschreibt (ev. vorher abchecken!).

Es ist natürlich anzuraten, das ganze noch etwas auszubauen. Ev. sind ja auch noch Benutzerabfragen notwendig. Ein Beispiel ist in install.sdw implementiert. Diese Datei startet gleich beim Öffnen den Installationsprozess, welcher jedoch nach Wunsch abgebrochen werden kann. Auch ist darin ein kleiner Dialog im «AutoPilot»-Stil integriert.

Achtung: die Installation durch obige Datei funktioniert natürlich nur, wenn diese lokal vorliegt! Eine Ausführung von Makros aus Dateien, die über HTTP oder FTP geöffnet wurden, sollte aus Sicherheitsgründen stets untersagt sein («Extras/Optionen/Browser/Scripting»)!



Letzte Änderung: 19.03.98
Copyright ©1998 by Michael Herger