Version von LO auslesen

Hallo *,

ich schreibe gerade Makros um, die mit der Version 4.1.* anders
funktionieren als mit den Vorgängerversionen. Da das zugrundeliegende
Datenbankdokument auch von Leuten benutzt wird, die ältere LO-versionen
oder auch OpenOffice bzw. ApacheOpenOffice nutzen würde ich gerne die
Version von LO auslesen, wie sie ja auch unter Hilfe → Info zu
LibreOffice ausgelesen wird.

Weiß jemand hier den direkten Weg?

Gruß

Robert

Hallo Robert

print getSolarVersion()

Gruß

Werner

Hallo Werner,

print getSolarVersion()

Danke, das ist schon einmal ein prima Ansatzpunkt. Der Befehl gibt die
ersten beiden Nummern der Version korrekt wieder: 410 z.B. bei einer
4.1.5.3 Zur Zeit reicht das für das konkrete Vorhaben.

Das Ganze kann leider schnell Makulatur werden, wenn die User der
Datenbank AOO nutzen und dort eine neue Version raus kommt, die nicht
die gleichen Codeänderungen enthält. Auch wird das Ganze zu einem
Problem, wenn Code-Änderungen wie z.B. bei der Datumsvariablen für
Dialoge und Formulare z.B. bei der 4.1.1 kommen, aber nicht bei der 4.0.
Letzteses lässt sich für mich aber eher vernachlässigen, da ich davon
ausgehe, dass sich User einer 4.1-er-Version nicht eine 4.1.0.*
installieren werden, wenn die 4.1.5 gerade raus kommt.

Gut wäre es für mich also noch zu wissen, ob es sich bei dem aufrufenden
Paket um LO handelt.

Konkretes Beispiel:
Listenfelder in Formularen zeigen einen Text an, speichern aber im
Formular einen Schlüsselwert. Vor LO 4.1 musste der angezeigte Text
ausgelesen werden und über eine Abfrage der Schlüsselwert ermittelt
werden. Mit LO 4.1 wird bei der Ermittelung des Wertes des Feldes direkt
der Schlüsselwert wieder gegeben. Ich kann mir also in LO 4.1 eine ganze
Menge Verrenkungen ersparen - leider aber nicht bei Datenbanken, die
auch noch in älteren Versionen laufen sollen.

Gruß

Robert

Hallo Werner, *,

ich habe das Problem jetzt mit Hilfe aus dem OOo-Forum lösen können.
Es existierte schon länger ein Code, der aber so im Prinzip nichts
anderes machte als getSolarVersion(). In diesem Code war aber ein Array
drin, das alle notwendigen Informationen bereit hielt. Hier der
Komplettcode der Funktion: