-2
我們可以擴展任何類,所以:從另一個單元擴展類
TColumn = class(FMX.Grid.TColumn)
private
FId: Integer;
public
property Id: Integer read FId write FId;
end;
而且這是工作在我們自己的單位不錯,但是如果我們試試這個(Grid: TGrid
表格上):
procedure ChangeId;
var
Col: TColumn;
begin
Col := Grid.Columns[0];
Col.Id := 0;
end;
我們得到了錯誤:
[dcc32 Error] uHelpers.pas(136): E2010 Incompatible types:
'uHelpers.TColumn' and 'FMX.Grid.TColumn'
任何方式擴大FMX.Grid.TColumn
類,使程序ChangeId
是否正確?
你的問題是作用域之一。爲什麼在已經有FMX.Grid.TColumn的情況下調用你的類TColumn?你期望編譯器能夠區分它嗎?叫你類TMyColumn。現在Grid在什麼時候獲得了TMyColumns的集合?它從來沒有。這是一個完全不同的問題! – nolaspeaker
我明白這個問題和我關於這個問題的問題。這完全不可能? –
這是可能的。只是以不同的方式做。 [添加一個TCombobox列到Firemonkey TGrid](http://stackoverflow.com/questions/32920219) – nolaspeaker