Seite 1 von 1

[gelöst] Programmverzeichnis auslesen Windows/Linux/Netzwerk

Verfasst: 23. August 2006 19:07
von oberschlingel
Hallo,

mal sehen, vielleicht eine dumme Frage:
Ich muss immer meine Datenbank (SQLite) im Programmverzeichnis finden, um sie zu öffnen. Eigentlich klar.
Aber:

1. Das aktuelle Verzeichnis mit QDir::currentPath() auszulesen, funktioniert nicht überall - es wird immer das Arbeitsverzeichnis zurückgegeben. Unter Linux entspricht das nicht unbedingt dem Programmverzeichnis, wenn das Programm nicht direkt aus dem Verzeichnis mit der exe-Datei aufgerufen wird, z.B. über einen Link (Verknüpfung) im Startmenü oder einen Pfadnamen+exe-Datei aus der Konsole.

2. Unter Windows klappt es immer, ich glaube, da in den Verknüpfungen standardmäßig als Arbeitsverzeichnis immer das Programmverzeichnis eingetragen wird.

3. Genauso verhält es sich in einem Netzwerk. Starte ich die exe-Datei von einem Netzlaufwerk aus, wird die Datei nicht gefunden.

4. Verwende ich statt dessen argv[0], bekomme ich nur den relativen Pfad des Programmverzeichnisses zurück.

Wie geht ihr sicher, immer das Prgrammverzeichnis zu finden?

Danke

Verfasst: 23. August 2006 19:17
von Christian81

Verfasst: 23. August 2006 19:29
von oberschlingel
Tausend Dank!

Verfasst: 12. Februar 2007 15:54
von christian.h
Hallo,

gibt es solche Funktionen auch für Qt3?
Hab diesbezüglich leider nichts gefunden.

gruß

Verfasst: 12. Februar 2007 16:07
von Christian81
christian.h hat geschrieben: Hab diesbezüglich leider nichts gefunden.
Also applicationDirPath gibts auch unter Qt3... lies doch mal http://doc.trolltech.com/3.3/qdir#details

Verfasst: 13. Februar 2007 13:51
von christian.h
Christian81 hat geschrieben:
christian.h hat geschrieben: Hab diesbezüglich leider nichts gefunden.
Also applicationDirPath gibts auch unter Qt3... lies doch mal http://doc.trolltech.com/3.3/qdir#details
Ich muss zugeben, dass ich das durch eine etwas intensivere Suche in der Qt3-Dokumentation auch selbst hätte finden können :)

Trotzdem Danke für den Hinweis.