Hi,
habe ein Problem mit VST.GetText, wenn ich
Delphi-Quellcode:
procedure TFormMain.VstGetText(Sender: TBaseVirtualTree;
Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType;
var CellText: string);
Var
Customer: TCustomerdaten;
begin
Customer:= TCustomerdaten(Vst.GetNodeData(node)^ );
case Column of
0: CellText:= Customer.company_name;
1: CellText:= Customer.email;
2: CellText:= Customer.company_industry;
3: CellText:= Customer.Anrede +' '+Customer.name;
4: CellText:= Customer.create_date;
5: CellText:= Customer.customer_number;
6: Celltext:= Customer.status;
end;
end;
Funktioniert alles, ich kann Nodes löschen usw.
Allerdings wenn ich nun
Delphi-Quellcode:
procedure TFormMain.VstGetText(Sender: TBaseVirtualTree;
Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType;
var CellText: string);
Var
Customer: TCustomerdaten;
begin
Customer:= TCustomerdaten(Vst.GetNodeData(node)^ );
If Customer.status = 'aktive' Then
Sender.Font.Color:= ClGreen
Else if Customer.status = 'inaktive' then
Sender.Font.Color:= ClRed;
case Column of
0: CellText:= Customer.company_name;
1: CellText:= Customer.email;
2: CellText:= Customer.company_industry;
3: CellText:= Customer.Anrede +' '+Customer.name;
4: CellText:= Customer.create_date;
5: CellText:= Customer.customer_number;
6: Celltext:= Customer.status;
end;
end;
Probiere, damit die spalten eingefärbt werden und dann auf den Button Node löschen klick, passiert gar nichts mehr und das Programm hängt sich auf und im Taskmanager verursacht das Programm aufeinmal 50% auslastung.
Wie kann das sein?
PS: Lösch Button sieht so aus
Delphi-Quellcode:
procedure TFormMain.ButtonDeleteClick(Sender: TObject);
begin
Try
If Application.MessageBox('Möchten Sie den Kunden wirklich löschen?', 'Kunden löschen', MB_OKCancel or MB_SETFOREGROUND) = IDok then
CustomerDelete; // Funktion
Except
Showmessage('Sie müssen einen Kunden auswählen.');
End;
end;
Wobei nichtmal die MessageBox dann aufgerufen wird, wenn ich die Zeilen einfärbe