У меня есть следующий кодПочему это неправильно
procedure TfrmJsApplications.colMaintStylesGetContentStyle(
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
var
aColumn: TcxCustomGridTableItem;
aValue: Variant;
begin
inherited;
try
aColumn := Sender.FindItemByName('colApplication_Doc');
aValue := aRecord.Values[aColumn.Index];
if VarToStr(aValue) <> '' then
colMaint.Properties.Buttons[0].Caption := 'Redigere'
else
colMaint.Properties.Buttons[0].Caption := 'Opret'
except
on E:exception do
Logfile.Error('F_JsApplications.colMaintStylesGetContentStyle: ' + E.Message);
end;
работает на колонке в cxGrid. Но по какой-то причине, что я просто не могу понять линию
if VarToStr(aValue) <> '' then
делает сбой функции. Я знаю, что это такое, когда Avalue становится Нулевое значение, но, насколько я могу понять, VarToStr должен возвращать «» в этом случае
«делает сбой функции» не очень помогает. Предоставьте полные сообщения об ошибках. –
На самом деле это не дает никакого сообщения - он просто останавливает программу и отображает источник блока Eurekalog под названием ELowLevel в процедуре DebugBreak – OZ8HP
@ OZ8HP. Это по-прежнему важная информация, которую нам нужно знать, чтобы помочь вам , –