私は次のコードを持っています
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がNull値になるときはわかっていますが、VarToStrがこの場合は''を返す必要があることがわかります。