Einzelnen Beitrag anzeigen

Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#12

AW: VirtualStringTree und Klasseninstanzen - Node Data finden

  Alt 17. Apr 2018, 11:09
Das nächste Mal bitte als Projekt

Mach mal folgendes, aber bedenke, dass das jetzt nur eine Lösung für deine Vorgehensweise hier ist. Und bitte alles beachten. Ich hänge bewusst die Datei nicht an, damit du die Änderungen auch selbst einbauen musst und hoffentlich auch verstehst:

Delphi-Quellcode:
procedure TForm2.Button2Click(Sender: TObject);
begin
 VST.Clear;
 DeleteNode(2); // Daten anhand des Index löschen. 2 ist nicht der absolute Index sondern der, der in Button1Click gesetzt wird
 VST.RootNodeCount := aVSTDataClasses.Count;
end;

procedure TForm2.Button3Click(Sender: TObject);
begin
  VST.Clear;
  DeleteNode('Peter Wurst'); // Daten anhand eines Nutzernamens löschen
  VST.RootNodeCount := aVSTDataClasses.Count;
end;
Delphi-Quellcode:
procedure DeleteNode(iIndex: Integer); overload;
//var
// Node: PVirtualNode;
begin
  aVSTDataClasses.Delete(iIndex);

// Node := FindUserNodeByIndex(iIndex);
// if Assigned(Node) then
// Form2.VST.DeleteNode(Node);
end;
Delphi-Quellcode:
procedure TForm2.FormCreate(Sender: TObject);
var
 Column: TVirtualTreeColumn;
 i: Byte;
begin
 ReportMemoryLeaksOnShutdown := True;
 
 ...

 VST.OnInitNode := VSTInitNode;
// VST.OnFreeNode := VSTFreeNode; // <--- WICHTIG! ENTFERNEN!
 VST.OnGetText := VSTGetText;
end;
  Mit Zitat antworten Zitat