AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

EAccesViolation beim Zugriff auf ini

Ein Thema von Fussball-Robby · begonnen am 3. Mär 2008 · letzter Beitrag vom 3. Mär 2008
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#1

EAccesViolation beim Zugriff auf ini

  Alt 3. Mär 2008, 14:18
Hey,
ich lade aus einer ini mit folgendem code einige Einstellungen:

Delphi-Quellcode:
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;
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?

Hoffe, ihr könnt mir helfen
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Auf Code-Suche
(Gast)

n/a Beiträge
 
#2

Re: EAccesViolation beim Zugriff auf ini

  Alt 3. Mär 2008, 14:22
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.
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: EAccesViolation beim Zugriff auf ini

  Alt 3. Mär 2008, 14:25
Erstmal Danke für die Hilfe, aber mit form1.listbox1.items.text:=''; funktioniert es auch nicht. Selbst wenn ich die ganze Zeile rausnehme, kommt der Fehler
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Benutzerbild von Xong
Xong

Registriert seit: 9. Jan 2008
186 Beiträge
 
Delphi 2006 Professional
 
#4

Re: EAccesViolation beim Zugriff auf ini

  Alt 3. Mär 2008, 14:26
Zitat von Auf Code-Suche:
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.
Zitat:
Mit Clear können Sie alle Einträge des Listenfeldes in einem Schritt löschen. Obwohl die Einträge eines Listenfeldes standardmäßig vom Typ TStrings sind, verwenden Sie die Methode Clear der Liste anstelle der Methode Clear der Eigenschaft Items. Dadurch können Nachkommen von TCustomListBox alle weiteren erforderlichen Löschvorgänge zusätzlich zum Löschen der Einträge aus der Eigenschaft Items in der Methode Clear ausführen. Daher sollten Anwendungen

ListBox1.Clear;

anstelle von

ListBox1.Items.Clear;

verwenden.

@Robby: in welcher Zeile erscheint die Meldung und welchen Wert hat i zu diesem Zeitpunkt?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: EAccesViolation beim Zugriff auf ini

  Alt 3. Mär 2008, 14:27
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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: EAccesViolation beim Zugriff auf ini

  Alt 3. Mär 2008, 14:31
Außer einem do zuviel:if count >0 then do fällt mir jetzt erstmal nichts auf. In welcher Zeile kommt denn der Fehler?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: EAccesViolation beim Zugriff auf ini

  Alt 3. Mär 2008, 14:34
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
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: EAccesViolation beim Zugriff auf ini

  Alt 3. Mär 2008, 14:44
Sorry, mal wieder ein dummer Fehler Die Variable sDir war zu dem Zeitpunkt noch nicht gesetzt...
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: EAccesViolation beim Zugriff auf ini

  Alt 3. Mär 2008, 14:54
Zitat von Fussball-Robby:
Sorry, mal wieder ein dummer Fehler Die Variable sDir war zu dem Zeitpunkt noch nicht gesetzt...
Wenn man halt globale Variablen en Mass verwendet passiert sowas zwangsläufig.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: EAccesViolation beim Zugriff auf ini

  Alt 3. Mär 2008, 15:01
Falls es dich interessiert, das ist meine einzige Globale Variable
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:15 Uhr.
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