loadComponentFromURL unter Linux? Dateiangabe?

spezielle Probleme mit AOO/LO unter Linux

Moderator: Moderatoren

Postbyme
***
Beiträge: 81
Registriert: Mo, 27.11.2017 18:42

loadComponentFromURL unter Linux? Dateiangabe?

Beitrag von Postbyme »

Hallo,
unter WIndows greife ich aus der Datei c:/pri/ad/admin.ods auf eine andere odb folgendermaßen zu:

const gs_urladb = "file:///C:/pri/soft/ad.ods"
go_adb = StarDesktop.loadComponentFromURL(gs_urladb, "_blank", 0, myFileProp() )

die Anwendung muss aber jetzt unter Linux laufen, wie soll ich da den Pfad eingeben?

so klappt nicht:
const gs_urladb = "file:///home/pri/soft/ad.ods"
und einige andere Versuche auch leider nicht.

Kann mir da jemand helfen?

Danke
-------------------------------------------------------
Windows 10 1903 /Libre Office 6.3.3.2 (x64)
Stephan
********
Beiträge: 12370
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: loadComponentFromURL unter Linux? Dateiangabe?

Beitrag von Stephan »

den richtigen Pfad kannst Du von OO bzw. LO jeweils selbst 'erstellen' lassen indem Du ConvertToURL verwendest, z.B.:

Code: Alles auswählen

const gs_urladb = ConvertToURL("C:\pri\soft\ad.ods")
go_adb = StarDesktop.loadComponentFromURL(gs_urladb, "_blank", 0, myFileProp() )
unter Linux also:

Code: Alles auswählen

const gs_urladb = ConvertToURL("/home/pri/soft/ad.ods")
so klappt nicht:
const gs_urladb = "file:///home/pri/soft/ad.ods"
ich sehe da im Konkreten eigentlich keinen Fehler.?


Gruß
Stephan
Postbyme
***
Beiträge: 81
Registriert: Mo, 27.11.2017 18:42

Re: loadComponentFromURL unter Linux? Dateiangabe?

Beitrag von Postbyme »

klappt leider nicht:

dim go_adb as object
dim gs_urladb as string

Sub main()
const gs_urladb = ConvertToURL("/home/pri/soft/ad.ods") --> schreibt in gs_urladb file:///home/pri/soft/ad.ods
go_adb = StarDesktop.loadComponentFromURL(gs_urladb, "_blank", 0, myFileProp() ) --> bringt Fehler: Variable nicht definiert
end sub

Habe ich da eine Variable falsch definiert (sind global definiert)
-------------------------------------------------------
Windows 10 1903 /Libre Office 6.3.3.2 (x64)
Stephan
********
Beiträge: 12370
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: loadComponentFromURL unter Linux? Dateiangabe?

Beitrag von Stephan »

Wie ist denn myFileProp() definiert?

Wenn dort nichts übergeben werden soll, reicht es ein leeres Array direkt zu übergeben:

Code: Alles auswählen

go_adb = StarDesktop.loadComponentFromURL(gs_urladb, "_blank", 0, Array() )
wenn dort etwas übergeben werden soll dann z.B.:

Code: Alles auswählen

Dim myFileProp(0) As New com.sun.star.beans.PropertyValue

myFileProp(0).Name = "Hidden"
myFileProp(0).Value = False

go_adb = StarDesktop.loadComponentFromURL(gs_urladb, "_blank", 0, myFileProp() )
Gruß
Stephan
Postbyme
***
Beiträge: 81
Registriert: Mo, 27.11.2017 18:42

Re: loadComponentFromURL unter Linux? Dateiangabe?

Beitrag von Postbyme »

oje, unter Windows läuft das doch alles :-(

Mit "Array()" kommen folgende zwei Fehler:

ERste Meldung: Er findet /home/pri/soft/ad.ods nicht
zweite Meldung an gleicher Programmzeile:Basic Laufzeitfehler. Ausnahme aufgetreten, Type:com.sun.star.lang.illegalArgumentException
Message: Unsupported URL <File:///home/pri/soft/ad.ods>: "type detection failed". ./frameworf/source/loaden/loadenv.cxx: 189.
-------------------------------------------------------
Windows 10 1903 /Libre Office 6.3.3.2 (x64)
Postbyme
***
Beiträge: 81
Registriert: Mo, 27.11.2017 18:42

Re: loadComponentFromURL unter Linux? Dateiangabe?

Beitrag von Postbyme »

Fehler gefunden !!

nach /home kommt ja noch erst der User im Pfad. Oje

Nur durch Fehler lernt der Mensch :oops:

Danke
-------------------------------------------------------
Windows 10 1903 /Libre Office 6.3.3.2 (x64)
Antworten