Einzelnen Beitrag anzeigen

BenniP

Registriert seit: 27. Nov 2004
50 Beiträge
 
Delphi 2007 Professional
 
#1

Virtual Tree - "Ungültige Zeigeroperation" beim Le

  Alt 30. Mär 2009, 10:27
Hallo,

ich habe folgendes Problem,
ich hab ein Treeview der einen Record hat mit einem String und einem Index. Der String wird als CellText verwendet, der Index wird intern verwendet.

Mein Record
Delphi-Quellcode:
type
  PBaumDaten = ^RBaumDaten;
  RBaumDaten = Record
    Text: String;
    Index: Integer;
end;
Die Initialisierung sieht so aus:
Delphi-Quellcode:
procedure TForm1.vstErgebnisGetNodeDataSize(Sender: TBaseVirtualTree; var NodeDataSize: Integer);
begin
 NodeDataSize:= SizeOf(PBaumDaten);
end;
Freigabe der Daten:
Delphi-Quellcode:
procedure TForm1.vstErgebnisFreeNode(Sender: TBaseVirtualTree; Node: PVirtualNode);
Var pDaten: PBaumDaten;
begin
 pDaten:= vstErgebnis.GetNodeData(Node);
 If Assigned(pDaten) Then
 Begin
  pDaten.Text:= '';
  pDaten.Index:= 0;
 End; //If
end;
CellText zuweisen:
Delphi-Quellcode:
procedure TForm1.vstErgebnisGetText(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType; var CellText: WideString);
Var pDaten: PBaumDaten;
begin
 pDaten:= Sender.GetNodeData(Node);
 If Assigned(pDaten) Then
  CellText:= pDaten.Text;
end;


Beim leeren (.Clear) tritt der Fehler "Ungültige Zeigeroperation" auf, beim Anhalten springt Delphi zu folgender Zeile im VirtualTree Source:
procedure TCustomVirtualStringTree.DefineProperties(Filer: TFiler); Virtual Tree 4.8.5
Delphi 2007

Ich komme nicht mehr weiter und weiß nicht wo mein Fehler liegt.
Kann mir jemand helfen?

Besten Dank!
  Mit Zitat antworten Zitat