Objekte, Methoden, Eigenschaften
Wie kann man Properties an eine Funktion übergeben?
Starbasic benötigt manchmal bei einem Aufruf einer Funktion ein Array mit bestimmten
Properties. Als Beispiel verwende ich hier loadcomponentfromurl.
Der letzte Parameter bei loadcomponentfromurl besteht aus solch einem Array.
Wenn man in diesem Array nichts zu übergeben hat, kann man einen leeren Dummy
verwenden. Dieser muss aber unbedingt deklariert werden.
Basic
Sub NeueDatei
Dim MyProp()
stardesktop.loadcomponentfromurl("private:factory/swriter","_blank",0,myProp())
End SubWenn man aber Parameter mit MyProp übergeben muss, kann man das Struct ProbertieValues
verwenden.
Basic
Sub TemplateOeffnen
Dim myProps(0) as New com.sun.star.beans.PropertyValue
myProps(0).Name="AsTemplate"
myProps(0).Value=true
stardesktop.loadcomponentfromurl("file:///f:/wbmakros.sxw","_blank",0,myProps())
End SubEntsprechend der Anzahl der Parameter wird das Array dimensioniert.
Basic
Dim myProps(1) as New com.sun.star.beans.PropertyValue
myProps(0).Name="AsTemplate"
myProps(0).Value=false
myProps(1).Name="ReadOnly"
myProps(1).Value=trueDie möglichen Properties muss man aus der Dokumentation des Services auslesen.
In diesem Beispiel: com.sun.star.document.MediaDiscriptor.
