Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Ausgabe eines Attributes verursacht Access violation... (https://www.delphipraxis.net/150744-ausgabe-eines-attributes-verursacht-access-violation.html)

Fussel9 25. Apr 2010 21:39


Ausgabe eines Attributes verursacht Access violation...
 
Hi, wenn ich folgen den Befehl ausführe:

EText.Text:=(List.getItem as TRaum).GibText;

kommt eine Access Violation, weiß jemand woran das liegt?

List enthält Elemente des Typs TElement und diese enthalten Elemente des Typs TObject

getItem git TObject aus

TRaum ist ein TObject

Christian Seehase 25. Apr 2010 21:48

Re: Ausgabe eines Attributes verursacht Access violation...
 
Dann ist entweder List oder List.GetItem gleich nil.
Prüf' das doch mal vor dem Aufruf.

Fussel9 25. Apr 2010 22:05

Re: Ausgabe eines Attributes verursacht Access violation...
 
ja stimmt, daran lags, warum auch immer wird bei der vorgegebenen Unit UList nach dem einfügen nicht auf das aktuell eingefügt element gesetzt... lol

Delphi-Quellcode:
procedure TList.insertBehind (pObject: TObject);
var newListElem : TElement;
begin
  //Falls der aktuelle Zeiger hinter der Liste steht, einen nach vorne rücken
  if zeiger=dummyBehind then previous;
  //Nun einfügen
  newListElem:=TElement.create(pObject);
  //Zuerst den neuen Knoten in die Liste einhänge
  newListElem.setzeNext(zeiger.gibNext);
  newListElem.setzePrevious(zeiger);
  //Dann den alten Nachfolger über seinen neuen Vorgänger informieren
  zeiger.gibNext.setzePrevious(newListElem);
  //Zuletzt den neuen Knoten als den aktuellen Nachfolger einsetzen
  zeiger.setzeNext(newListElem);
  next; // NACHTRÄGLICH HINZUGEFÜGT !!!
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:13 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