Entwickler-Ecke

Dateizugriff - Programm nennt Datei um


Gahero - Sa 29.12.07 23:34
Titel: Programm nennt Datei um
Hallo,

ich habe ein kleines Problem mit meinem Programm.
Ab und zu (unregelmäßig) benennt das Programm eine Datei um. Dies passiert immer beim Programmstart. Aus der betreffenden Datei sollen Infos ausgelesen werden. Dazu wird vorher überprüft ob die Datei vorhanden ist. Diese Überprüfung schlägt dann fehl, weil das prog die Datei irgendwie vorher umbenennt.

Das hier ist der eigentliche Code:

Delphi-Quelltext
1:
2:
3:
4:
if fileexists(Form_Design.Le_Pfadangaben2.Text + 'gothic3\UserOptions.ini'then
    begin

      userini := TIniFile.create(Form_Design.Le_Pfadangaben2.Text + 'gothic3\UserOptions.ini');


Danach folgen ein paar Auslesevorgänge. In keiner anderen Prozedur, die beim Programmstart aufgerufen wird, wird auf diese Datei zugegriffen.
Das Programm hängt immer mehrere _ vor die Datei. Das sieht dann so aus: __userotions.ini (statt useroptions.ini) Wie schon oben gesagt tritt der Fehler nur unregelmäßig auf.
Ich weiß nicht, was ich noch für Code posten soll, da der Rest des Codes keinen Zugriff auf die Datei enthält.

Ich hoffe, jmd hier weiß die Lösung für dieses Problem.

Viele Grüßen und einen guten Rutsch,
GaHero


MDX - Sa 29.12.07 23:38

Ähm?
Fehlt da nicht was wie

Delphi-Quelltext
1:
appdir+'gotic3\UserOptions.ini'                    


Wo speichert er den die Datei und unter welchem Namen??? :?
Wäre glaube ich ganz Hilfreich... :zwinker:

EDIT: Sry, name steht ja dran...
Okay, ich glaub meine Lösung ist Unsinnig für das Problem...
:oops::oops::oops:


Gahero - Sa 29.12.07 23:43

Er speichert die Datei genau so: (nur halt nicht auslesen, sondern was reinschreiben)


Delphi-Quelltext
1:
2:
3:
4:
if fileexists(Form_Design.Le_Pfadangaben2.Text + 'gothic3\UserOptions.ini'then
    begin

      userini := TIniFile.create(Form_Design.Le_Pfadangaben2.Text + 'gothic3\UserOptions.ini');


AppDir brauch ich nicht. Das ist eine Datei von einem anderen Prog. (Nein es läuft nicht gleichzeitig mit...)

Und noch was: Es ist nicht nur auf meinen PC so...


MDX - Sa 29.12.07 23:45

Sehr seltsam... :gruebel: :gruebel: :gruebel:
Und ich nehem an das Dein Programm keine Zugriffverletzungen oder so was anzeigt!

Sehr sehr seltsam...


Gahero - Sa 29.12.07 23:48

Ja, ich piel das auch nicht.
Ich hab hinter der if Abfrage noch ein else drin, was eine Message zeigt.
Und es kommt halt hin und wieder vor, dass das Programm diese Meldung anzeigt. Wenn man dann ins Verzeichnis schaut, ist die Datei umbenannt.


Lannes - So 30.12.07 00:54

Hallo,

passiert das auch wenn Du nicht zwischendurch Gothic3 gespeilt hast?


DrRzf - So 30.12.07 00:56

setz mal ein Dateiüberwchungsprogramm an.
Kann sein dass da was anderes rummspielt an der datei.


Gahero - So 30.12.07 11:42

Also es scheint wohl doch eher mit Gothic 3 zusammen zuhängen.
Ich habe jetzt einfach eine Abfrage vor den entsprechenden Code gesetzt, der die Datei bei Bedarf wieder zurück umbenennt und das ganze zum Testen an den betroffenen Benutzer geschickt. Mal sehen, ob es was bringt...