Einzelnen Beitrag anzeigen

dGeek
(Gast)

n/a Beiträge
 
#1

Programmablauf in VM korrekt, ohne VM nicht

  Alt 28. Mär 2015, 14:38
Ich habe mal wieder ein seltsames Problem.

Mein Programm lädt eine Textdatei, welche einige MB groß ist. Die aufbereiteten Daten werden in einer VirtualStringTree-Komponente gespeichert.

Innerhalb der VM (VMWare, Windows 7 Home Premium 64 Bit) erzeugt funktioniert alles ohne Probleme. Außerhalb der VM (Windows 7 Home Premium 64 Bit) bleibt das Programm beim Laden
der Daten (genauer gesagt, nach etwa 4 MB geladenen Daten) einfach hängen.

Mittlerweile konnte ich auch herausfinden, welche Zeile(n) vermutlich das Problem darstelle(n):
Delphi-Quellcode:
procedure AddVSTStructure(aVST: TVirtualStringTree; aRecord: TTreeData);
var
  Data: PTreeData;
  Node: PVirtualNode;
begin
  Node := aVST.AddChild(nil);
  Data := aVST.GetNodeData(Node);

  aVST.ValidateNode(Node, False);

  Data^ := aRecord;
end;

AddVSTStructure(aNewVST, TreeData);

Nur zur Information: die Daten werden innerhalb eines Threads aufbereitet und der VST-Struktur hinzugefügt.
Ob das daran liegen kann, dass das Windows in der VM nicht geupdated wurde und das außerhalb schon?

Ich habe gerade auch herausgefunden, dass es ohne "ValidateNode" wahrscheinlich funktioniert. Aber was ist an ValidateNode innerhalb eines Threads falsch?
Ok, das war es doch nicht

Geändert von dGeek (28. Mär 2015 um 14:44 Uhr)
  Mit Zitat antworten Zitat