2
重現步驟:TCheckBox.Data無效類型轉換爲TValue
-new firemonkey應用
-add TCheckBox以形成
現在創建與下面的代碼的方法:
procedure TForm1.Foo;
var a,b:Integer; lVal:TValue;
begin
lVal:=TValue.From<Integer>(42);
a:=lVal.AsInteger;
checkbox1.Data:=TValue.From<Integer>(42);
b:=checkbox1.Data.AsInteger;
end;
帶有lVal的轉換運行時沒有問題,但是checkbox1.data,即使它也是一個TValue,也會引發一個「EInvalidCast 「 - 錯誤,當調用AsInteger
時。使用checkbox1.data.AsType<Integer>
代替時會出現相同的錯誤。
我濫用TCheckBox.Data
這裏還是這種錯誤?