von Stephan » So, 12.02.2006 15:20
ich habe nicht begriffen welchen Zweck "_self" haben soll.
Du kannst ein Dokument damit in einen bestehenden Frame laden, d.h. das ersetzt das zur Laufzeit geöffnete Dokument im aktuellen Fenster durch ein anderes Dokument (bei Bedarf erfolgt vorher Speichernachfrage) ohne ein neues Fenster zu öffnen.
Im Speziellen ist es meiner Erinnerung nach auch so das wenn das neue Dokument ein leeres Dokument ist, dieses auch 'Bestand' hat, wenn das ersetzte Dokument ein gespeichertes war, wenn Du danach normal ein weiteres Dokument öffnest. (ich meine im Gegensatz zu dem Verhalten das ein leeres Dokument durch das zu öffnende ersetzt wird wenn das leere noch keine Änderungen aufweist.)
Beispiel:
Code: Alles auswählen
...
sURL = "private:factory/swriter"
Frame = StarDesktop.CurrentComponent.CurrentController.Frame
Frame.LoadComponentFromUrl(sURL, "_self", 0, noArgs())
'oder:
'Frame.LoadComponentFromUrl(sURL, "", 0, noArgs())
...
ersetzt das Dokument im 'StarDesktop.CurrentComponent.'-Fenster durch ein leeres Writer-Dokument.
In der Referenz steht dahinter ein Ausrufezeichen
da steht:
"_self", ""(!) means frame himself
was meiner Meinung nach nur ausdrücken soll das "" auch geht (s.o.), wahrscheinlich nur deshalb mit Ausrufezeichen weil >>,,<< nicht ginge, andererseits wenn Du den Namen des Frames in einer Variable übergibst diese wohl auch leer sein kann.
Gruß
Stephan
[quote]ich habe nicht begriffen welchen Zweck "_self" haben soll. [/quote]
Du kannst ein Dokument damit in einen bestehenden Frame laden, d.h. das ersetzt das zur Laufzeit geöffnete Dokument im aktuellen Fenster durch ein anderes Dokument (bei Bedarf erfolgt vorher Speichernachfrage) ohne ein neues Fenster zu öffnen.
Im Speziellen ist es meiner Erinnerung nach auch so das wenn das neue Dokument ein leeres Dokument ist, dieses auch 'Bestand' hat, wenn das ersetzte Dokument ein gespeichertes war, wenn Du danach normal ein weiteres Dokument öffnest. (ich meine im Gegensatz zu dem Verhalten das ein leeres Dokument durch das zu öffnende ersetzt wird wenn das leere noch keine Änderungen aufweist.)
Beispiel:
[code]...
sURL = "private:factory/swriter"
Frame = StarDesktop.CurrentComponent.CurrentController.Frame
Frame.LoadComponentFromUrl(sURL, "_self", 0, noArgs())
'oder:
'Frame.LoadComponentFromUrl(sURL, "", 0, noArgs())
...[/code]
ersetzt das Dokument im 'StarDesktop.CurrentComponent.'-Fenster durch ein leeres Writer-Dokument.
[quote]In der Referenz steht dahinter ein Ausrufezeichen[/quote]
da steht:
[i]"_self", ""(!) means frame himself [/i]
was meiner Meinung nach nur ausdrücken soll das "" auch geht (s.o.), wahrscheinlich nur deshalb mit Ausrufezeichen weil >>,,<< nicht ginge, andererseits wenn Du den Namen des Frames in einer Variable übergibst diese wohl auch leer sein kann.
Gruß
Stephan