Wert einer Objektvariablen per String zuweisen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Wert einer Objektvariablen per String zuweisen

von Wolfgang Lampert » Fr, 21.05.2004 19:28

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

von Toxitom » Fr, 21.05.2004 17:51

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

Wert einer Objektvariablen per String zuweisen

von Wolfgang Lampert » Fr, 21.05.2004 15:42

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

Nach oben