Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi INI Problem (https://www.delphipraxis.net/22155-ini-problem.html)

Akut-Programming 13. Mai 2004 10:05


INI Problem
 
Also ich hatte mir ne Prozedur zum speichern meiner Einstellungen geschrieben - leider bekomme ich eine Zugriffsverletzung, wenn ich diese ausführen will.

Meine Prozedur:
Delphi-Quellcode:
procedure Tfrm_main.prcSaveSettings;
var
   ini: TIniFile;
   i: integer;
begin
     ini := ini.Create('settings.ini');
     try
       if s_SaveRes = 1
       then begin
            ini.WriteInteger('Resolution', 'Save', 1);
            ini.WriteInteger('Resolution', 'Height', frm_main.Height);
            ini.WriteInteger('Resolution', 'Width', frm_main.Width);
       end else
       begin
            ini.WriteInteger('Resolution', 'Save', 0);
            ini.WriteInteger('Resolution', 'Height', 466);
            ini.WriteInteger('Resolution', 'Width', 641);
       end;

       if frm_settings.cbStartMax.Checked
       then begin
            ini.WriteInteger('Start', 'StartMax', 1)
       end else
           ini.WriteInteger('Start', 'StartMax', 0);
       begin
       end;

       if frm_settings.rbShowAllTables.Checked
       then begin
            ini.WriteInteger('TableOptions', 'ShowAll', 1);
            ini.WriteInteger('TableOptions', 'ShowSelected', 0);
       end;

       if frm_settings.rbShowThisTables.Checked
       then begin
            ini.WriteInteger('TableOptions', 'ShowAll', 0);
            ini.WriteInteger('TableOptions', 'ShowSelected', 1);
       end;
       frm_settings.lbTables.Items.SaveToFile(APPPATH + TABLEFILE);
     finally
     ini.Free;
     end;
end;
Ich habe sie beim beenden der Anwendung aufgerufen. - Kann mir jemand beim beheben des Fehlers helfen???

Gruß,

Luckie 13. Mai 2004 10:08

Re: INI Problem
 
Schon mal in Einzelschritten debuggt und gekuckt wo die Zugriffsverletzung kommt?

BTW:
Delphi-Quellcode:
ini := ini.Create('settings.ini');
Dass er die Ini beim Programm start findet ist reine Glückssache. Gib lieber den genauen Ort der Ini mit einer relativen Pfadangabe an.

Akut-Programming 13. Mai 2004 10:18

Re: INI Problem
 
Ich habs jetzt mal so versucht..
Delphi-Quellcode:
..
const INIFILE = 'settings.ini';
..
APPPATH := ExtractFilePath(Application.ExeName);
..
ini := ini.Create(APPPATH+INIFILE); //Beim einzel Debuggen kam hier die Fehlermeldung - weiter kommt er nicht.
Ich hab die Datei jetzt schon manuell angelegt - trotzdem -> der Fehler kommt :gruebel:

Markus K. 13. Mai 2004 10:21

Re: INI Problem
 
Hallo Akut-Programming,
versuche es mal so.
Delphi-Quellcode:
ini:=TInifile.Create('Pfad');
Hast du eventuell vergessen bei uses inifiles hinzuzufügen?

Tschüß Markus

Luckie 13. Mai 2004 10:23

Re: INI Problem
 
Genauso hat er es doch. Aber ich sehe da auch keinen Fehler.

Akut-Programming 13. Mai 2004 10:24

Re: INI Problem
 
Zitat:

Zitat von Markus K.
Hallo Akut-Programming,
versuche es mal so.
Delphi-Quellcode:
ini:=TInifile.Create('Pfad');
Tschüß Markus

Das mach ich doch schon - siehe oberer Beitrag! :gruebel:
Delphi-Quellcode:
ini.Create(APPPATH+INIFILE);// APPPATH Wurde mit dem Pfad zu meiner Anwendung belegt und INIFILE ist ne Konstante, die den Namen enthält!

Akut-Programming 13. Mai 2004 10:25

Re: INI Problem
 
Zitat:

Zitat von Luckie
Genauso hat er es doch. Aber ich sehe da auch keinen Fehler.

Deshalb, mir fällt hier auch nichts auf. Zumal - ich habe es in zich Anwendungen nicht anderst.. :wall:

CalganX 13. Mai 2004 10:27

Re: INI Problem
 
Hi,
ähm... :gruebel: Was ich gelernt habe, war, dass man Klassen/Objekte immer folgendermaßen initialisieren muss:
Delphi-Quellcode:
var
  aVar: TMeineKlasse;

// ...

aVar := TMeineKlasse.Create({u.U. Parameter})
Folglich müsste es folgendermaßen aussehen:
Delphi-Quellcode:
ini := TIniFile.Create('settings.ini');
Chris

Markus K. 13. Mai 2004 10:27

Re: INI Problem
 
Sorry, bin blind :oops: .
Was bringt er denn für ne Fehlermeldung?

Tschüß Markus

Akut-Programming 13. Mai 2004 10:36

Re: INI Problem
 
Zitat:

Zitat von Chakotay1308
Folglich müsste es folgendermaßen aussehen:
Delphi-Quellcode:
ini := TIniFile.Create('settings.ini');
Chris

Ich habe den Namen der Datei jetzt mal fest angegeben, also TIniFile.Create('settings.ini'); - trotzdem bekomme ich die Zugriffsverletzung! Dazu sei gesagt, das es egal ist, ob ich den Namen über Variablen übergebe oder ihn fest eintrage!


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:50 Uhr.
Seite 1 von 2  1 2      

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