_hidden beim Öffnen einer Datei

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Ein__Stadtmensch
***
Beiträge: 61
Registriert: Do, 18.12.2003 10:08

_hidden beim Öffnen einer Datei

Beitrag von Ein__Stadtmensch » Di, 02.03.2004 16:03

Hallo,

ich hatte bisher den Befehl

Code: Alles auswählen

calc = StarDesktop.loadComponentFromUrl(Url1, "_blank",0,Dummy())
verwendet. Nun wollte ich das Ganze einmal mit _hidden ausprobieren und habe es in

Code: Alles auswählen

calc = StarDesktop.loadComponentFromUrl(Url1, "_hidden",0,Dummy())
abgeändert. Nun kommt allerdings wieder eine Fehlermeldung:

Code: Alles auswählen

OpenOffice.org 1.1.0
Es ist eine Exception aufgetreten
Type: com.sun.star.illegalArgumentException
Message: Unsorported target name found!
Gibt es dieses _hidden bei OpenOffice 1.1.0 gar nicht? Oder heisst es da anders?

Ein__Stadtmensch
***
Beiträge: 61
Registriert: Do, 18.12.2003 10:08

Beitrag von Ein__Stadtmensch » Di, 02.03.2004 16:17

Der Parameter "_hidden" wird bei loadcomponentfromurl nicht unterstützt. Wenn man das erreichen will muß man die Propertie des Mediadescriptors Hidden auf true setzen.
Das habe ich gerade beim Googlen entdeckt. Kann mir das einer auf deutsch übersetzen???[/code]

Toxitom
********
Beiträge: 3485
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom » Di, 02.03.2004 16:30

Hallo Stadtmensch,

tia, das ist alles schon "höhere Basic". Jetzt wird es langsam Zeit, dass du dich mal mit dem SDK auseinandersetzt. Dort sind die meisten Befehle erklärt (in englisch), oft aber noch viel kompliierter, da für Programmierer und überwiegend für C++. Aus diexsem "Wust" muss man sich dann die benötigten Informationen ziehen und den Rest ausprobieren.

Zur Erklärung des Textes: die Methode loadcomponentfromurl() erwartet vier Parameter, vereinfacht: 1. die URL, 2. das Ziel, wohin es gealden wird, 3. (weis nicht?). 4. Ein Array mit Eigenschaften.
Das Array mit eigenschaften wird im Normalfall einfach als leeres Array übergeben, du kannst aber eben auch Eigenschaften defineiren. Und das ist das, was hier angesprochen wird.
Müsste dann so ungefähr heissen wie:

Code: Alles auswählen

dim FileProperties(0) as new com.sun.star.beans.propertyValue
...
FileProperties(0).Name = "Hidden"
FileProperties(0).value = "true"    ' evt. auch einfach 1
....
....loadComponentFromUrl(Url1, "_blank",0,FileProperties(0))
...
Hilfts?

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic

Ein__Stadtmensch
***
Beiträge: 61
Registriert: Do, 18.12.2003 10:08

Beitrag von Ein__Stadtmensch » Mi, 03.03.2004 10:00

Wunderbar! Vielen Dank für deine Tipps!!! Ich konnte mir unter diesem Mediadescriptor nix vorstellen. Nun hat alles bestens funktioniert. Zudem kommt auch die Fehlermeldung beim Beenden nicht mehr (viewtopic.php?t=526. Vermutlich lag das an dem doppelt verwendeten dummy()-Feld bei den beiden Calc.Tabellen...

Hier noch einmal der genaue Code:

Code: Alles auswählen

Dim FileProperties1(0) as new com.sun.star.beans.PropertyValue
FileProperties1(0).Name = "Hidden"
FileProperties1(0).Value = True

calc = StarDesktop.loadComponentFromUrl(Url1, "_blank",0,FileProperties1())
PS: Vermutlich muss ich mir diese SDK wirklich einmal näher anschauen. Heruntergeladen habe ich mir das Werk zumindestens schon einmal...

Antworten