5.3 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 muß aber unbedingt deklariert werden.

Sub NeueDatei
Dim MyProp()
stardesktop.loadcomponentfromurl("private:factory/swriter","_blank",0,myProp())
End Sub

Wenn man aber Parameter mit MyProp übergeben muß, kann man das Struct ProbertieValues verwenden.

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 Sub

Entsprechend der Anzahl der Parameter wird das Array dimensioniert.
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=true

Die möglichen Properties muß man aus der Dokumentation des Services auslesen.
In diesem Beispiel: com.sun.star.document.MediaDiscriptor.