Ich habe eine Form das die Komponente "VirtualStringTree" besitzt.
Darin werden u.A. Hostnames und IP-Adressen aufgelistet. Jede Zeile einen neuen Kundenname, Hostnamen und IP.
Ein Eintrag soll bei einem Klick auf eine Zeile angepingt werden. Das funktioniert soweit auch problemlos.
Ich möchte es jetzt möglich machen mehrere Zeilen zu markieren (toMultiSelect=true) und die Einträge abzuarbeiten,
bekomme aber mit meiner Methode nur den letzten markierten Eintrag.
Wie kann ich die IP-Felder aller markierten Einträge bekommen?
So versuche ich die Daten auszulesen:
Code: Alles auswählen
// Daten für VST
type
PTreeData = ^TTreeData;
TTreeData = record
Kunde : String;
Hostname : String;
IP : String;
Info : String;
StdProg : String;
end;
procedure TMainForm.MultiPingMenuItemClick(Sender: TObject);
var
IP, Url, Hostname : String;
i : integer;
Node : PVirtualNode;
Data : PTreeData;
begin
Node:=VST.FocusedNode;
if not Assigned(Node) then
Exit;
Data := VST.GetNodeData(Node);
IP:=Data^.IP;
//Hier möchte ich alle IP's aller markierten Zeilen haben, bekomme aber nur den letzten Eintrag
showmessage(IP);
end;
Michael