Hallo,
Delphi-Quellcode:
procedure Tfrm_main.SQLDataToVST_SubnetDetails;
var
i : Integer;
SubnetDetailsData : TOSubnetDetailsData;
begin
vst_network_subnetdetails.BeginUpdate;
try
vst_network_subnetdetails.Clear;
... und alles andere
// Application.ProcessMessages; was soll das denn ????
finally
vst_network_subnetdetails.EndUpdate;
end;
end;
Und lass vor allem das
Application.ProcessMessages; weg.
Ausserdem wundert mich, warum du überall String-Vergleiche hast
Delphi-Quellcode:
procedure Tfrm_main.vst_network_subnetdetailsGetText(Sender: TBaseVirtualTree;
Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType;
var CellText: WideString);
var
SubnetDetailsData : TOSubnetDetailsData;
begin
SubnetDetailsData := TOSubnetDetailsData(vst_network_subnetdetails.GetNodeData(Node)^);
if vst_network_subnetdetails.Header.Columns[Column].Text = '
IP Address'
then CellText := SubnetDetailsData.ipaddress;
if vst_network_subnetdetails.Header.Columns[Column].Text = '
Device'
then CellText := SubnetDetailsData.device;
end;
Du weisst schon, dass
Column (als Integer beginnend mit 0) viel besser geeignet ist,
dann geht es sogar mit
case ?
Wenn du schon Strings vergleichst, dann so
Delphi-Quellcode:
procedure Tfrm_main.vst_network_subnetdetailsGetText(Sender: TBaseVirtualTree;
Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType;
var CellText: WideString);
var
SubnetDetailsData : TOSubnetDetailsData;
begin
SubnetDetailsData := TOSubnetDetailsData(vst_network_subnetdetails.GetNodeData(Node)^);
if vst_network_subnetdetails.Header.Columns[Column].Text = '
IP Address'
then
begin
CellText := SubnetDetailsData.ipaddress;
Exit;
end;
if vst_network_subnetdetails.Header.Columns[Column].Text = '
Device'
then
begin
CellText := SubnetDetailsData.device;
Exit;
end;
end;
Bringst zumindestens ein bisschen Speed-Up.
Heiko