-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