stell doch einfach um auf objekt orientierte programmierung?
Delphi-Quellcode:
type
TEntry = class
public
Name,
IPAdresse,
PCName,
Passwort: String;
Online:Integer;
Timer:TTimer;
Thread:TJvThread;
PingC:TIdIcmpClient;
constructor Create();
destructor Destroy();
end;
constructor TEntry.Create();
begin
// hier die anderne objs erzeugen
end;
destructor TEntry.Destroy();
begin
// hier die obj zerstören
end;
im form create
vst.nodedatasize:=sizeof(tentry);
objekte in den vst:
Delphi-Quellcode:
var
obj: TEntry;
begin
obj:=TEntry.create;
vst.addobject(nil, vst);
end;
im vst on free:
Delphi-Quellcode:
var
obj: tentry;
begin
obj:=tentry(vst.getnodedata(node)^);
obj.free;
end;
im gettext vom vst:
Delphi-Quellcode:
var
obj: tentry;
begin
obj:=tentry(vst.getnodedata(node)^);
case column of
0: celltext:=obj.name;
// hier die andern spalten
end;
end;
das ist jetzt erstmal die vst optik gewesen.
programmtechnisch würde ich wohl einen timer verwenden für das ganze projekt und ein ping objekt.
diese beiden würden dann die liste durch eine iteration aktuell halten. (sicherstellen das der timer nicht 2 mal gleichzeitig ausgelöst wird)
oder den timer weg und einen thread (ist aber komplizierter)
ich denke du musst keine echtzeit anzeige haben, eine verzögerung von 5-10 sekunden sollte kein problem darstellen oder?