Einzelnen Beitrag anzeigen

Michael_Bayer

Registriert seit: 20. Mär 2005
137 Beiträge
 
Delphi 7 Enterprise
 
#1

Komisches Phänomen bei VirtualStringTree und Objekt als Data

  Alt 11. Jun 2005, 19:50
Hallo!
Ich habe einen VST in meinem Projekt und als NodeData wollte ich einfach ein selbst erstelltes Objekt dranhängen.
Also habe ich im GetNodeDataSize
  NodeDataSize := SizeOf(TMeineKlasse); geschrieben.

Jetzt tritt das komische Phänomen auf, dass ich beim erstellen
Delphi-Quellcode:
  Node := VST.AddChild(nil);
  tmp := VST.GetNodeData(Node);
  tmp := TMeineKlasse.Create;
  tmp.setVariable1('test');
  tmp.setVariable2('test2');
ja hier Variable1 test und Variable2 test2 zuweise aber beim Auslesen im GetText
Delphi-Quellcode:
  Data := VST.GetNodeData(Node);
  if column = 0 then Celltext := Data.getVariable1;
  if column = 1 then Celltext := Data.getVariable2;
in der ersten Spalte gar nix stehen hab und in der zweiten Spalte den Wert, der in Variable1 stehen sollte. (Die setter und getter der Klasse sind korrekt (2x geprüft))

Wenn ich das mit noch mehr Variablen mache, wirds irgendwann auch noch untereinander komisch gemischt.

_Darf_ ich vielleicht bei der NodeDataSize gar nicht meine Klasse in das Sizeof stecken?

Für mich sieht das irgendwie danach aus, dass er den falschen Speicherbereich liest, aber dann müsste er doch aber auch ab und an mal ganz komische Werte liefern.

Danke schonmal und schönen Gruß

Gruß
Micha
  Mit Zitat antworten Zitat