BASE: ThisComponent.getURL Laufzeitfehler

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

Moderator: Moderatoren

MHage
**
Beiträge: 49
Registriert: Fr, 17.12.2010 19:28

BASE: ThisComponent.getURL Laufzeitfehler

Beitrag von MHage »

Hi,

ich versuche den aktuellen Pfad auszulesen.

folgendes habe ich zur Zeit:

Code: Alles auswählen

if Not GlobalScope.BasicLibraries.isLibraryLoaded("Tools") Then
   GlobalScope.BasicLibraries.loadLibrary("Tools")
End if

sFile = DirectoryNameoutofPath(thisComponent.getUrl(),"/")
Das kommt dabei heraus:

Bild


Kann mir jemand sagen, was da schief geht?


Gruß
Matze
MHage
**
Beiträge: 49
Registriert: Fr, 17.12.2010 19:28

Re: getURL Laufzeitfehler

Beitrag von MHage »

Mittlerweile habe ich rausgefunden das in neueren Versionen "ThisComponent.getURL()" wohl nicht mehr funktioniert.

habe es jetzt so:

Code: Alles auswählen

sFile = DirectoryNameoutofPath(CurrentComponent.getURL(),"/")
kommt aber der Fehler: Objektvariable nicht belegt!
gogo
*****
Beiträge: 207
Registriert: Mi, 10.11.2010 13:11

Re: getURL Laufzeitfehler

Beitrag von gogo »

ThisComponent hat diese Methode offensichtlich nicht ;)

Hast Du xray installiert? Wenn ja dann fügst Du mal vor Deine Codezeile folgednes ein:

Code: Alles auswählen

GlobalScope.BasicLibraries.LoadLibrary("XrayTool")
xray CurrentComponent
... und dann suchst Du in den Properties bzw. Methoden nach dem item das Dir den Pfad zurückgibt...

(Location bzw URL)

Bei mir funktioniert Deine Code übrigens problemlos. Ist Deine Datenbank registriert?

g
g
LucidLynx/WinXP LibreOffice v3.3.2 ab 03/12 v3.3.2 & v3.4.5
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: getURL Laufzeitfehler

Beitrag von komma4 »

CurrentComponent ist eine Eigenschaft von StarDesktop


@gogo: wie kommst Du darauf, dass es eine Datenbank ist?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
MHage
**
Beiträge: 49
Registriert: Fr, 17.12.2010 19:28

thisComponent.getUrl() aus Base Formular

Beitrag von MHage »

Hi,

ich habe ein Skript geschrieben, welches aus einer ini Datei Parameter ausliest.
Den Pfad zur ini Datei ermittel ich über thisComponent.getUrl().
Das Funktioniert auch gut, wenn ich das Makro aus der IDE starte.

Jetzt habe ich einen Button in einem Base Formular eingebunden, der mir das Makro dann ausführen soll.
Wenn ich aus einem Base Formular, über besagten Button das Makro ausführe, kann thisComponent.getUrl()
den Pfad nicht ermitteln und die ini Datei wird entsprechend nicht gefunden.

Wie kann ich das Problem lösen?

Gruß
Matze



Moderation,4
: habe Dein neues Posting mit gleichem -aber einer konkreteren Beschreibung- in Dein Ursprungsposting verschoben. Dort den Titel angepasst. Mehrfach-Postings gleichen Inhalts sind in diesem Board nicht erwünscht.
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: BASE: ThisComponent.getURL Laufzeitfehler

Beitrag von komma4 »

Bei einem eingebetteten Formular steht diese Eigenschaft nicht zur Verfügung.

Nehme die Anweisung

Code: Alles auswählen

print ThisComponent.Parent.getURL()
um den Pfad der Datenbankdatei zu ermitteln.


Hilft das?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
MHage
**
Beiträge: 49
Registriert: Fr, 17.12.2010 19:28

Re: BASE: ThisComponent.getURL Laufzeitfehler

Beitrag von MHage »

Habs gefunden:

diese Seite hat geholfen: http://www.dannenhoefer.de/faqstarbasic ... terwaehlen


Gruß
Matze
gogo
*****
Beiträge: 207
Registriert: Mi, 10.11.2010 13:11

Re: getURL Laufzeitfehler

Beitrag von gogo »

@komma4
komma4 hat geschrieben:@gogo: wie kommst Du darauf, dass es eine Datenbank ist?
war nur so eine Vermutung...

g
g
LucidLynx/WinXP LibreOffice v3.3.2 ab 03/12 v3.3.2 & v3.4.5
MHage
**
Beiträge: 49
Registriert: Fr, 17.12.2010 19:28

Re: BASE: ThisComponent.getURL Laufzeitfehler

Beitrag von MHage »

komma4 hat geschrieben:Bei einem eingebetteten Formular steht diese Eigenschaft nicht zur Verfügung.

Nehme die Anweisung

Code: Alles auswählen

print ThisComponent.Parent.getURL()
um den Pfad der Datenbankdatei zu ermitteln.


Hilft das?

Leider funktioniert das bei mir nicht. Meldung sinngemäß: unbekannte Eigenschaft oder Methode .Parent

Gruß
gogo
*****
Beiträge: 207
Registriert: Mi, 10.11.2010 13:11

Re: BASE: ThisComponent.getURL Laufzeitfehler

Beitrag von gogo »

Kannst Du mal das ganze Makro posten, und genau beschreiben wie/wann Du es aufrufst?

g
g
LucidLynx/WinXP LibreOffice v3.3.2 ab 03/12 v3.3.2 & v3.4.5
Antworten