Einzelnen Beitrag anzeigen

Aviator

Registriert seit: 3. Jun 2010
1.610 Beiträge
 
Delphi 10.3 Rio
 
#25

AW: Große Probleme mit VirtualStringTree

  Alt 18. Jun 2017, 00:28
Ich kann dir später gerne mal mein aktuelles Testprojekt hier anbieten.
Es wird aber noch über Wochen ein Testprojekt bleiben.
Fehlerbehandlung kommt erst, wenn ich den Testcode in mein eigentliches Projekt einbaue, da mir im Testprojekt dafür gewisse Units fehlen.

Mit diesem Testprojekt ohne Fehlerbehandlung komme ich vollkommen klar. Ich setze es demnächst aber nochmal neu hier rein mit einer kurzen Erklärung.
Ist ja auch in Ordnung so. Ich habe jetzt einfach mal nur die Art deiner Programmierung, also der Zuweisung der Daten zum Tree und die Verarbeitung der Daten, beachtet. Ausgeführt habe ich das Programm nur kurz und mal nacheinander verschiedene Dinge probiert.

Mir ist jetzt nicht direkt irgendetwas aufgefallen was du evtl. falsch machst bis auf eine Kleinigkeit:

Delphi-Quellcode:
procedure TForm2.VSTCompareNodes(Sender: TBaseVirtualTree; Node1, Node2: PVirtualNode; Column: TColumnIndex; var Result: Integer);
var
 Data1: TVSTData;
 Data2: TVSTData;
begin
 Data1 := Node1.GetData<TVSTData>;
 Data2 := Node2.GetData<TVSTData>;

 Result := CompareText(Data1.Col1, Data2.Col2);
end;

Hier vergleichst du Col1 immer mit Col2 von unterschiedlichen Nodes. Ich denke, dass das richtigerweise beide Male Col1 sein sollte. Aber dazu kann ich nicht mehr sagen.

Ein Hinweis vielleicht noch zu dem DrawText. Hier geht es dir scheinbar darum, dass du einen bestimmten Text hinter eine Node setzen willst, wenn eine Beschreibung vorliegt. Das könntest du evtl. auch mit dem StaticText umsetzen was du wiederum über das GetText lösen könntest. Dafür benötigst du dann kein extra DrawText Event.
  Mit Zitat antworten Zitat