Entwickler-Ecke

Dateizugriff - Fehlermeldung beim auslesen von ini [gelöst]


Akut-Programming - Do 21.08.03 16:03
Titel: Fehlermeldung beim auslesen von ini [gelöst]
Und wieder eine Frage zum Thema ini Dateien:

Wie manche vielleicht schon mitbekommen haben, hab ichs grad mit inis.. un hier is auch schon das nächste ... ich will in meinem Prog im Event "Form1.Create" meine ini Datei "einstellungen.ini" auslesen.

Er bringt mir nur jedes mal wenn ich die Anwendung compiliere die Fehlermeldung "Zugriffsverletzung bei Adresse 00402D9C..."

Kann es sein, das ich keine Datei im "OnCreate" auslesen kann. Was würdet ihr vorschlagen, damit meine "einstellungen" angewendet werden, bevor das Form sichtbar ist?


Akut-Programming - Do 21.08.03 16:10

hier noch n stück code:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
procedure TForm1.FormCreate(Sender: TObject);
var ini: TIniFile;
    pfad: string;
begin
...
  //einstellungen.ini auslesen START

    pfad:=ExtractFilePath(ParamStr(0));
    ini:=TIniFile(pfad+'einstellungen.ini');
    try
     loadnotice:=ini.ReadInteger('einstellungen','LoadNotice',0);
     windowheight:=ini.ReadInteger('einstellungen','WindowHeight',0);
     windowwidth:=ini.ReadInteger('einstellungen','WindowWidth',0);
     autostart:=ini.ReadInteger('einstellungen','autostart',0);
    finally
     ini.free;
    end;
...

Variablen sind alle vorhanden

Moderiert von user profile iconTino: Delphi-Tags hinzugefügt.


BeniSchindler - Do 21.08.03 16:19

Moin,

ich säubere mal kurz meine Glaskugel und probier was zu erkenne.

Probier bitte mal, bei welcher Aktion er genau aussteigt. Ist das beim
Ini.create(); oder erst beim ReadString? So wie das bei dir gerade klingt kommt der Fehler erst beim Auslesen. Und wenn das so ist, dann ist auch nicht das Ini-File das Problem sondern die Variable die du zuweisen willst.

Probierst du mit den Inhalten ein Objekt (Form) anzupassen, welches noch gar nicht erstellt ist?

Wenn ja, dann probier doch mal folgendes. Pack das ganze auslesen von den Variablen aus der Ini-Datei in eine Prozedure in deinem Main-Form z.B.: "procedure GetOptions".

So und nun gehst du in die Dpr-Datei von deinem Projekt. In dieser Datei schreibst du nun vor die Zeile "Application.Run;" die Zeile "Form1.GetOptions;". Wobei Form1 natürlich der Name deines Mainforms sein muss ;) .

i hope that helps


BeniSchindler - Do 21.08.03 16:21

Akut-Programming hat folgendes geschrieben:

Delphi-Quelltext
1:
    ini:=TIniFile(pfad+'einstellungen.ini');                    

Variablen sind alle vorhanden

Hab gerade erst dein zweites Posting gelesen.
dann war meine Glaskugel wohl falsch. Aber müsste die ini Zeile nicht so lauten? :

Delphi-Quelltext
1:
    ini:=TIniFile.create(pfad+'einstellungen.ini');                    


mfg

Moderiert von user profile iconTino: Delphi-Tags hinzugefügt.


Akut-Programming - Do 21.08.03 16:24

habs ma getestet. und es ist so, das die Meldung schon kommt, wenn ich die ini erstelle. der pfad stimmt aber.die datei liegt da schon. ist das vielleicht das problem; das die datei schon existiert, immer hin will ich sie ja mit TIniFile.create erstellen. gibts da vielleicht n befehl zum updaten?


Akut-Programming - Do 21.08.03 16:26

:autsch: Es kann nicht sein. So blind mussmer erstma sein. *g* DANKE!!!!

Moderiert von user profile iconTino: 21 Smilies aus dem Beitrag entfernt.