Seite 1 von 1

BASE: ThisComponent.getURL Laufzeitfehler

Verfasst: Mo, 07.02.2011 11:19
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

Re: getURL Laufzeitfehler

Verfasst: Mo, 07.02.2011 11:37
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!

Re: getURL Laufzeitfehler

Verfasst: Mo, 07.02.2011 11:46
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

Re: getURL Laufzeitfehler

Verfasst: Mo, 07.02.2011 14:58
von komma4
CurrentComponent ist eine Eigenschaft von StarDesktop


@gogo: wie kommst Du darauf, dass es eine Datenbank ist?

thisComponent.getUrl() aus Base Formular

Verfasst: Mo, 07.02.2011 16:05
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.

Re: BASE: ThisComponent.getURL Laufzeitfehler

Verfasst: Mo, 07.02.2011 16:40
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?

Re: BASE: ThisComponent.getURL Laufzeitfehler

Verfasst: Mo, 07.02.2011 16:48
von MHage
Habs gefunden:

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


Gruß
Matze

Re: getURL Laufzeitfehler

Verfasst: Mo, 07.02.2011 20:19
von gogo
@komma4
komma4 hat geschrieben:@gogo: wie kommst Du darauf, dass es eine Datenbank ist?
war nur so eine Vermutung...

g

Re: BASE: ThisComponent.getURL Laufzeitfehler

Verfasst: Di, 08.02.2011 13:04
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ß

Re: BASE: ThisComponent.getURL Laufzeitfehler

Verfasst: Di, 08.02.2011 14:02
von gogo
Kannst Du mal das ganze Makro posten, und genau beschreiben wie/wann Du es aufrufst?

g