Einzelnen Beitrag anzeigen

VizeTE

Registriert seit: 31. Dez 2002
178 Beiträge
 
Delphi 5 Enterprise
 
#2

AW: VirtualStringTree: Exception beim editieren von Zellen

  Alt 13. Okt 2010, 00:49
Inzwischen habe ich paar neue Informationen herausgefunden.

In der Methode TPropertyEditLink.EditKeyDown (also wenn Enter gedrückt wird) wird FTree.EndEditNode aufgerufen. Die wiederrum ruft TBaseVirtualTree.DoEndEdit auf. Dort wird FEditLink := nil gesetzt. Dadurch wird dieser Freigegeben da es sich um eine Instanz von TInterfacesObject handelt.
Nun wird in TPropertyEditLink.Destroy das Edit freigegeben. Danach wird jedoch noch die MainWndProc vom Edit aufgerufen. Hier knallt es dann da das Edit ja schon freigegeben wurde.

Jetzt weiß ich warum es passiert. Aber wie ich das am besten umgehen ist mir noch nicht ganz klar.

Hat jemand einen guten Vorschlag?

Geändert von VizeTE (13. Okt 2010 um 20:02 Uhr)
  Mit Zitat antworten Zitat