![]() |
Re: EAccesViolation beim Zugriff auf ini
Zitat:
|
Re: EAccesViolation beim Zugriff auf ini
Okay, dann eben zwei... Dass man nicht mit massig globalen Variablen arbeiten sollte, weiß ich außerdem aus eigener Erfahrung nur allzu gut
|
Re: EAccesViolation beim Zugriff auf ini
Wenn man schon in Delphi programmiert, sollte man sich doch auch langsam von alten Pascal-Angewohnheiten verabschieden.
Statt ...
Delphi-Quellcode:
... kannst du die Funktion "Load" auch als Methode deiner "Form1" machen und hättest damit schonmal einen Schritt in Richtung OOP getan.
procedure load;
Var ini:TIniFile; fname:string; i,count:integer; begin fname:=Unit1.sDir+'main.ini'; form1.listbox1.clear; ini:=TIniFile.create(fname); try count:=ini.readinteger('main','forms',0); if count >0 then do for i:=1 to count do form1.listbox1.items.add(ini.readstring('main','form'+inttostr(i),'')); finally ini.free; end; end;
Delphi-Quellcode:
unit Unit1;
interface uses ...; type TForm1 = class(TForm) // ... private procedure Load; // ... public // ... end; var // ... implementation {$R *.dfm} procedure TForm1.Load; var ini: TIniFile; FName: String; i, Count: Integer; begin FName := Unit1.sDir + 'main.ini'; // << globale Variable *schauder* Mach dir 'ne "Config"-Klasse Listbox1.Clear; ini := TIniFile.Create(FName); try Count := ini.ReadInteger('main', 'forms', 0); if Count > 0 then for i := 1 to Count do Listbox1.Items.Add(ini.ReadString('main', 'form' + inttostr(i), '')); finally FreeAndNil (ini); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz