Seite 1 von 1

Wert einer Objektvariablen per String zuweisen

Verfasst: Fr, 21.05.2004 15:42
von Wolfgang Lampert
Hi, ich möchte die Eigenschaften/Methoden ansehen und den Service per String bestimmen. Funktioniert leider nicht wie geplant: oObj = sText erzeugt Fehlermeldung:

sub UnoService ' Anzeige Eigenschaften/Methoden ei UnoService
dim oObj as Object
dim sText as String
REM oObj = createUnoService("com.sun.star.frame.Desktop")
REM dies ist die Zuweisung aus dem Handbuch - ich möchte jedoch
REM die Zuweisung über eine STRING-VARIABLE wie folgt erzeugen:
sText = "createUnoService(""com.sun.star.frame.Desktop"")"
oObj = sText '!!! Fehlermeldung

msgbox oObj.dbg_properties
msgbox oObj.dbg_methods
end sub

Verfasst: Fr, 21.05.2004 17:51
von Toxitom
Hallo Wolfgang,

ich glaube, das hast du dir etwas vorgenommen, was nicht möglich ist.
sText = "createUnoService(""com.sun.star.frame.Desktop"")"
oObj = sText '!!! Fehlermeldung
createUnoService() ist ein eingebauter Funktionsaufruf und liefert ein Objekt zurück. Wenn Du das in Quotes an eine String-Variabel übergibst, wird das alles ein String und ist kein Funktionsaufruf mehr. Und das bekommst du nicht zurück!
Daher auch die Fehlermeldung.
Nun weiss ich ja nicht, was der Hintergrund deines Vorhabens ist, aber wäre es nicht sinnvoller, die Sache zu drehen:

Code: Alles auswählen

sText = "com.sun.star.frame.Desktop"
oObj = createUnoService(sText)
Das zumindest sollte funktionieren - und vielleicht kannst du das ja brauchen.

Gruss
Thomas

Verfasst: Fr, 21.05.2004 19:28
von Wolfgang Lampert
Danke für den Tip, ich wollte den anzuzeigenden Service selber per InputBox bestimmen - und dies ist hiermit nun möglich:
sub UnoService
dim oObj as Object
dim sInput$ REM Eingabevariable für Service (inputbox)
dim sText$ REM Anzeige Zuweisung an oObj
sInput = inputbox("Bitte Name des Service eingeben:", "Module: frame", "Desktop")
sText = "com.sun.star.frame." + sInput
oObj = createUnoService(sText)

msgbox oObj.dbg_properties REM Anzeige der ServiceEigenschaften
msgbox oObj.dbg_methods REM Anzeige der ServiceMethoden
End sub