![]() |
INI Datei auslesen
hallo,
ich hab ein problem beim einlesen einer ini datei, ich möchte die dort vergebenen parameter in ein array packen und diese werte für threads zugänglich machen. dazu hab ich ein mehrdimensionales array als public deklariert und versuche in meiner Methode aus jeder Sektion das erste Element (hier Parameter) in das Array einzulesen, leider kommt es dabei zu einer Zugriffsverletzung weiß jemand vielleicht wo der Fehler liegt?
Delphi-Quellcode:
type
TMainForm = class(TForm) ... public { Public-Deklarationen } Config: array of array of string; ... procedure TMainForm.FormCreate(Sender: TObject); var ini: TIniFile; Settings: TStringlist; i: integer; begin ini:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'config.ini'); Settings:=TStringlist.create; try ini.readsections(Settings); for i:=0 to Settings.count-1 do begin Config[i,0]:=ini.readstring(Settings[i],'Parameter',''); end; finally ini.free; Settings.free; end; end; |
Re: INI Datei auslesen
Hallo,
Du verwendest ein dyn Array mit dem Config. Bevor Du auf die Array-Elemente zugreifen kannst, musst Du mit SetLength die Größe des Array's festlegen.
Delphi-Quellcode:
Config enthält an dieser Stelle noch kein Element.
for i:=0 to imax-1 do
begin Config[i,0]:=ini.readstring(Settings[i],'Parameter',''); end; |
Re: INI Datei auslesen
Wie setzt du denn die länge deines dynamischen Arrays fest ?
|
Re: INI Datei auslesen
Na mit SetLength
Habe ich doch oben geschrieben :gruebel: |
Re: INI Datei auslesen
Mit
Delphi-Quellcode:
zum Beispiel. :thuimb:
SetLength(DeinDynamischesArray,34);
|
Re: INI Datei auslesen
oh danke danke =)
so ist das wenn man den wald vor lauter bäumen nicht sieht schönes we wünsch ich euch noch =) |
Re: INI Datei auslesen
Wie wäre es denn z.B. damit
Delphi-Quellcode:
SetLength(Config,10,10);
|
Re: INI Datei auslesen
Zitat:
|
Re: INI Datei auslesen
Ok, es kommt halt drauf an, wie viele Dimensionen dein dynamisches Array hat.
Bei einer reicht
Delphi-Quellcode:
Bei zweien dann halt
SetLength(array,10);
Delphi-Quellcode:
Bei dreien dann
SetLength(array,10,10);
Delphi-Quellcode:
Und immer so weiter...
SetLength(array,10,10,10);
|
Re: INI Datei auslesen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:45 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 by Thomas Breitkreuz