Wie kann man eine erstellte Komponente wiederfinden?

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: Wie kann man eine erstellte Komponente wiederfinden?

Re: Wie kann man eine erstellte Komponente wiederfinden?

von hawkhunter2002 » Fr, 04.09.2009 22:46


Wo meldet man solche Fehler eigentlich am besten?
hier :D

Gruß

Hawk

Re: Wie kann man eine erstellte Komponente wiederfinden?

von MyFairTux » Fr, 04.09.2009 18:02

Ich antworte mir mal selbst ;-)

Nachdem ich den passenden Begriff zur Suche eingegeben habe, fand sich, dass es sich wohl tatsächlich um einen Fehler in "loadComponentFromURL" handelt.
Man muss OO wohl zu seinem Glück zwingen und den Framenamen explizit setzen, also so:

Code: Alles auswählen

oDoc = StarDesktop.loadComponentFromURL(sVorlage, "Textdokument", 0, args())
oDoc.getCurrentController.Frame.Name = "Textdokument"
Danach findet auch "findFrame" den gesuchten Frame :-)

Wo meldet man solche Fehler eigentlich am besten?

Chris.

Wie kann man eine erstellte Komponente wiederfinden?

von MyFairTux » Fr, 04.09.2009 17:55

Hallo,

Ich habe aus einem Calc-Dokument heraus ein Writer-Dokument aus einer Vorlage heraus erstellt:

Code: Alles auswählen

oDoc = StarDesktop.loadComponentFromURL(sVorlage, "Textdokument", 0, args())
Dieses möchte ich nun in anderen Subs ansprechen. Ich habe es bisher folgendermaßen versucht:

Code: Alles auswählen

  oFrames = StarDesktop.getFrames()
  For i = 1 to oFrames.getcount()
    oFrame = oFrames.getByIndex(i-1)
    s = s & CStr(i-1) & " : " & oFrame.getName() & Chr(10)
  Next
  MsgBox s
Leider wird mir der vergebene Framename "Textdokument" nicht angezeigt, dabei steht in der API-Doku folgendes:

setName
[oneway] void
setName( [in] string aName );

Description
sets the name of the frame.

Normally the name of the frame is set initially (e.g. by the creator). The name of a frame will be used for identifying it if a frame search was started. These searches can be forced by:

* XFrame::findFrame()
* XDispatchProvider::queryDispatch()
* XComponentLoader::loadComponentFromURL()

Note: Special targets like "_blank", "_self" etc. are not allowed. That's why frame names shouldn't start with a sign "_".
Parameter aName
the new programmatic name of this frame


Auch ein Versuch mit

Code: Alles auswählen

oFrame = oFrames.findFrame ("Textdokument", 0)
brachte leider kein Ergebnis.

Wo liegt mein Fehler?

Viele Grüße,
Chris

Nach oben