Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Relativen Dateipfad zurücksetzen (https://www.delphipraxis.net/133380-relativen-dateipfad-zuruecksetzen.html)

Cruentus 30. Apr 2009 19:32


Relativen Dateipfad zurücksetzen
 
Howdy allerseits!

Mein Problem ist folgendes: Ich habe so ein kleines Programm geschrieben, dass verschiedene Dateien öffnet, die sich allesamt im Unterordner (Unterordner des Programms) Archiv befinden. Bisher habe ich nur ein paar Textdateien und Bilder geöffnet. Nun habe ich aber eine Funktion eingebaut, die es dem User erlauben soll, selbst ein Bild zu laden, dies wollte ich mit einem OpenDialog verwirklichen. Ob das geklappt hat weiß ich noch nicht, hab diesen Punkt betreffend aber keine Fehlermeldung bekommen^^

So, das Problem ist nun, dass unmittelbar nach dem Aussuchen des Bildes seitens des Users eine Textdatei neu abgespeichert werden soll. Das hat bisher auch immer gut geklappt, seitdem ich aber den Opendialog eingefügt habe, hat er den Archiv-Ordner doppelt im Dateipfad drin und bricht selbstredend mit einer Fehlermeldung ab, da der Dateipfad ja nicht mehr stimmt.
Anschaulich gesagt: Statt (Übergeordnete Dateien)\Finale Version\Archiv\Textdatei.txt versucht er auf den Dateipfad
(Übergeordnete Dateien)\Finale Version\Archiv\Archiv\Textdatei.txt zurückzugreifen, der so aber nicht richtig ist.

Meine Frage ist nun, ob es eine Möglichkeit gibt, den relativen Dateipfad quasi wieder zurückzusetzen (scheinbar hat sich ja ein \Archiv zuviel reingeschlichen).

Hoffe, ich konnte mein Problem verständlich darlegen :-D


Danke schon mal für Eure Tipps, Ratschläge und/oder Hilfe :wink:

PS: Ich arbeite auch wirklich mit relativen Dateipfaden, d.h. ich lade die Stringliste beispielsweise über
Delphi-Quellcode:
default.LoadFromFile('Archiv\Default.txt');

jaenicke 30. Apr 2009 19:40

Re: Relativen Dateipfad zurücksetzen
 
Dazu habe ich hier ausführlich eine Erklärung mit Lösung geschrieben:
http://www.delphi-library.de/viewtopic.php?p=499701

Kurz gesagt: Benutze keine relativen Pfadangaben, sonst sind Probleme vollkommen normal.

Cruentus 30. Apr 2009 20:58

Re: Relativen Dateipfad zurücksetzen
 
Hmm, danke schon mal für die schnelle Antwort, allerdings fürchte ich, dass der Fehler bestehen geblieben ist...hab mich aber an die verlinkte Anleitung gehalten...

Gibt es wirklich keine Möglichkeit den relativen Dateipfad zurückzusetzen???

jaenicke 30. Apr 2009 21:36

Re: Relativen Dateipfad zurücksetzen
 
Wenn du dich daran gehalten hast, dann hast du ja keine relativen Pfade mehr, also muss es an etwas anderem liegen. Wie sieht denn der Aufruf auf, bei dem der Fehler kommt?

Unsauber wäre tatsächlich das Arbeitsverzeichnis mit SetCurrentDir zurückzusetzen, aber das würdest du sicher bereuen, denn ein Dialog ist nicht das einzige, das diesen Pfad ändert. Und deshalb kannst du dich mit relativen Pfaden nie auf das Ergebnis verlassen, wenn du das nicht ganz ganz sauber planst...


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz