![]() |
For-Schleife verursacht Zugriffsverletzung
Hallo!
Ich habe folgenden code:
Delphi-Quellcode:
...
var
Form31: TForm31; NIM: TNotifyIconData; OpenUIN: TList; UINName, UINList: TStringList; Status: TICQStateType; SSL: TOnChangeResponse;
Delphi-Quellcode:
beim gekennzeichneten Punkt tritt folgene Meldung auf:
procedure TForm31.Senden1Click(Sender: TObject);
var i: Integer; open: boolean; {OpenUIN: TList; UINName: TStringList;} begin open := true; if UINName.Count > 0 then for i := 0 to UINName.Count do //Hier tritt die Exception auf.... if UINList.Strings[ContactList.ItemIndex] = UINName.Strings[i] then open := false; if open then begin ShowMessage('Öffnen!'); UINName.Strings[i] := UINList.Strings[ContactList.ItemIndex]; end else ShowMessage('Net!'); end;
Code:
Wieso??
---------------------------
Benachrichtigung über Debugger-Exception --------------------------- Im Projekt CQ.exe ist eine Exception der Klasse EAccessViolation aufgetreten. Meldung: 'Zugriffsverletzung bei Adresse 0047DE9F in Modul 'CQ.exe'. Lesen von Adresse 00000000'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen. --------------------------- OK --------------------------- |
Re: For-Schleife verursacht Zugriffsverletzung
Hi. Hast du schonmal probiert, statt dem x.Count eine feste Zahl einzusetzen, also nur so zum Probieren?
|
Re: For-Schleife verursacht Zugriffsverletzung
Hallo faux,
du darfst nur bis Count-1 zählen, weil Listen mit dem Index 0 anfangen. |
Re: For-Schleife verursacht Zugriffsverletzung
Hi!
Schreib vielleicht mal
Delphi-Quellcode:
Ciao fkerber
UinName.Count-1;
|
Re: For-Schleife verursacht Zugriffsverletzung
@MrSpock & fkerber: Hab ich vor dem Post auch schon probiert... geht auch nicht...
Aber danke, hab ich vergessen... muss ich wieder zuschreiben... [edit]Aber deswegen tritt doch keine Zugriffsverletzung auf...[/edit] Zitat:
Delphi-Quellcode:
if UINList.Strings[ContactList.ItemIndex] = UINName.Strings[i] then //usw (siehe oben)
|
Re: For-Schleife verursacht Zugriffsverletzung
Hi!
Es klingt wirklich so, als würde der Listenindex "überreizt", aber dann müsste unsere Lösung funktionieren. Seltsam :gruebel: Ciao fkerber |
Re: For-Schleife verursacht Zugriffsverletzung
Naja, und was kann ich jetzt machen????
|
Re: For-Schleife verursacht Zugriffsverletzung
Ich würde mal tippen, du hast das
Delphi-Quellcode:
vergessen
UInName := TStringlist.Create;
|
Re: For-Schleife verursacht Zugriffsverletzung
Hallo faux,
dann ist ja noch UINList.Strings[ContactList.ItemIndex] ein Kandidat für die Listenindexüberschreitung!? Stelle im debug Mode doch einmal fest, was UINList.Count ist und welchen Wert ContactList.ItemIndex hat. |
Re: For-Schleife verursacht Zugriffsverletzung
ähm nur mal so ne blöde Frage weil Adresse 00000000 Zugriffsverletzung
..ist UInName schon überhaupt kreiert worden ? Edit: Mist zu spät. Aber wegem dem 000000000 denke ich die StringListe ist gar nicht kreiert |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:29 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