![]() |
EAccesViolation beim Zugriff auf ini
Hey,
ich lade aus einer ini mit folgendem code einige Einstellungen:
Delphi-Quellcode:
Dabei bekomme ich die Fehlermeldung "EAccesViolation". Ich weiß, dass das bedeutet, dass ich auf Speicher zugreife, der nicht existiert oder so ähnlich, aber in anderen Prozeduren greife ich genau so auf die gleiche Datei zu. In den anderen Prozeduren benutze ich allerdings keine Schleife. Kann das damit was zu tun haben?
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; Hoffe, ihr könnt mir helfen |
Re: EAccesViolation beim Zugriff auf ini
Hallo,
nachdem du die Listbox clearst, ist der Speicher freigegeben und du kannst nicht mehr drauf zugreifen. Ersetze den Befehl form1.listbox1.clear; durch form1.listbox1.items.text := ''; Dann sollte es gehen. |
Re: EAccesViolation beim Zugriff auf ini
Erstmal Danke für die Hilfe, aber mit
Delphi-Quellcode:
funktioniert es auch nicht. Selbst wenn ich die ganze Zeile rausnehme, kommt der Fehler
form1.listbox1.items.text:='';
|
Re: EAccesViolation beim Zugriff auf ini
Zitat:
Zitat:
@Robby: in welcher Zeile erscheint die Meldung und welchen Wert hat i zu diesem Zeitpunkt? |
Re: EAccesViolation beim Zugriff auf ini
Ich tipp mal drauf das form1 undefiniert ist.
Bau deine Funktion um so das du mit TStrings arbeitest und nicht auf irgendwelche globale Formularvariablen die evtl. in einem anderen Projekt standardmäßig erzeugt wurden. |
Re: EAccesViolation beim Zugriff auf ini
Außer einem do zuviel:
Delphi-Quellcode:
fällt mir jetzt erstmal nichts auf. In welcher Zeile kommt denn der Fehler?
if count >0 then do
|
Re: EAccesViolation beim Zugriff auf ini
Das ist grade das Problem, es wird weder eine Zeile markiert noch irgendein anderer Hinweis darauf gegeben, wo der Fehler auftritt. Ich nehme jetzt mal die anderen Sachen nach und nach da raus, vielleicht finde ich dann die Stelle
|
Re: EAccesViolation beim Zugriff auf ini
Sorry, mal wieder ein dummer Fehler :wall: :wall: :wall: Die Variable sDir war zu dem Zeitpunkt noch nicht gesetzt... :oops:
|
Re: EAccesViolation beim Zugriff auf ini
Zitat:
|
Re: EAccesViolation beim Zugriff auf ini
Falls es dich interessiert, das ist meine einzige Globale Variable :wink:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:55 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