Entwickler-Ecke

Programmierwerkzeuge - Inno Setup: Problem mit Dateizugriff


struppi :o) - Sa 03.07.04 10:53
Titel: Inno Setup: Problem mit Dateizugriff
Hallo Community :)

Ich habe ein Problem mit Innosetup: Mein Programm greift beim Arbeiten öfter mal auf *.dat-Dateien zu. Das funktioniert auch sehr gut, wenn ich das Programm aus dem Projects-Ordner von Delphi aus lade. Wenn ich jedoch eine Setup.exe mit Inno Setup erstelle, mein Programm installiere, und es dann anschließend aus dem Startmenü starte funktioniert dieser Dateizugriff nicht mehr. Natürlich habe ich bei Inno Setup eingestellt (ich arbeite nur mit dem Wizard, habe mich bisher noch nicht in das Programm eingearbeitet), dass die *.dat-Dateien mitinstalliert werden.

Woran könnte das liegen?

Grüße struppi :o)


matze - Sa 03.07.04 11:05

poste mal den code mit dem du auf diese dat files zugreifst


struppi :o) - Sa 03.07.04 13:22

Ziemlich simpel, nämlich so:

Form11.ListBox1.Items.LoadFromFile('data.dat');

Hilft das weiter?

Grüße struppi :)


Delete - Sa 03.07.04 14:02

Ja, das hilft weiter. Es zeigt nämlich, dass es nicht an Inno Setup sondern an deinem Programm liegt. Schau mal in die Delphi-Hilfe zu den Themen ExtractFilePath und paramstr(0). Letzteres beschreibt deine eigene Exe, ersteres zieht aus dieser Angabe nur den Pfad. Damit bist du auf der sicheren Seite, denn der Zugriff auf die Datei, so wie du ihn machst, funktioniert nur, solange das aktuelle Arbeitsverzeichnis mit deinem Programmverzeichnis identisch ist.


struppi :o) - Sa 03.07.04 14:58

Okay, danke, das werde ich mir auf jeden Fall mal angucken.

Hätte ich euch nicht ;)

Grüße struppi :)


struppi :o) - Sa 03.07.04 15:00

Ich habe mir das kurz mal angesehen, aber nicht hundertprozentig verstanden, wie ich die Funktion anwenden kann. Könntet ihr mir mal ein Beispiel geben? Vielen Dank :)


Keldorn - Sa 03.07.04 15:30

struppi :o) hat folgendes geschrieben:
Ich habe mir das kurz mal angesehen, aber nicht hundertprozentig verstanden, wie ich die Funktion anwenden kann. Könntet ihr mir mal ein Beispiel geben? Vielen Dank :)

Hallo

wie wärs mit eigeninitiative? in der Hilfe zu extractfilepath ist ein beispiel, und wenn du nach Suche in: Delphi-Forum, Delphi-Library EXTRACTFILEPATH suchst, wirst du wohl auch mehr als 3 Beiträge finden ;)

Mfg Frank


struppi :o) - Sa 03.07.04 17:16

Sorry, weder die Delphi-Hilfe (habe sie leider nur in englisch) noch die Beiträge können mir sagen wie ich mit ExtractFilePath bzw. paramstr(0) das 'normale' LoadFromFile ersetzen kann. Für ein Beispiel wäre ich noch immer dankbar :)

Grüße struppi :)


Keldorn - Sa 03.07.04 17:22

Hallo

Zitat:
weder die Delphi-Hilfe (habe sie leider nur in englisch)
das ist eine faule ausrede. Warum hast du dann denn eine englische Version? wenn es eine D6Personal ist, gibt es hier im Forum ebenfalls genug einträge, wie man die Hilfe dafür in deutsch bekommt Suche in: Delphi-Forum, Delphi-Library DEUTSCHE HILFE


Delphi-Quelltext
1:
Form11.ListBox1.Items.LoadFromFile(ExtractFilePath(Application.ExeName)+'data.dat');                    

ob du application.exename oder paramstr(0) verwendest ist egal, kommt das gleiche raus.

Mfg Frank