Einzelnen Beitrag anzeigen

generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#51

Re: Datenbank in VirtualTreeView anzeigen und auswerten

  Alt 8. Mär 2009, 13:04
Zitat von Jens Hartmann:
Delphi-Quellcode:
var
  Daten : TOMB256PLUS;
begin
Daten := TOMB256PLUS.Create;
Objekt erzeugen

Zitat von Jens Hartmann:
Daten := TOMB256PLUS(VST.GetNodeData(Node)^);
nun den Zeiger wieder überschreiben und die Referenz verlieren.
Somit ist die gerade zuvor erzeugte Instanz von die nicht mehr zu benutzen.
Kurz: Die .Create Zeile ist zuviel und das im ganzen Code.

Es reicht ein mal das Objekt pro Datensatz zu erstellen.
Das machst du ja bereits bei der Init Routine.

Delphi-Quellcode:
  
procedure TForm1.VSTInitNode(Sender: TBaseVirtualTree; ParentNode,
  Node: PVirtualNode; var InitialStates: TVirtualNodeInitStates);
var
  Daten : TOMB256PLUS;

[...]
Daten := TOMB256PLUS.Create;
  VST.NodeHeight[Node] := 35;
  Include(InitialStates, ivsMultiline);
  Initialize(Daten);
Was macht deine "Initialize" Daten Funktion?
Wann weist du den Objektzeiger dem VST-Data Zeiger zu?
Jede Zeile hat ein pVirtualNode Record, an diesem hängt der Datenzeiger. Diesen scheinst du nicht zu setzen. Daher die Schutzverletzung.




Daher geht dein GetText usw. nicht, weil es keine Referenz auf deine TOMB256PLUS Objekte findet.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat