我仍然使用 Delphi XE4(我使用多个 Delphi 编译器的最新编译器)并且需要一个特定的解决方法,因为他们在这个版本中完全隐藏了 TBasicAction 中的 FClient。我在设置启用/禁用时连接/断开客户端运行时(以避免大约 100 多个动作和 ui 元素闪烁),因此 XE4 的解决方法:
这是我的天真尝试,只是简单地返回字段。
TmscBasicActionCrack = class(TBasicAction)
end;
{$IFDEF mymsDELPHIXE4}
TmscBasicActionHelper = class helper for TBasicAction
public
function Helper_Get_Private_FClients: TList<System.Classes.TBasicActionLink>;
end;
{$ENDIF}
{$IFDEF mymsDELPHIXE4}
//------------------------------------------------------------------------------
function TmscBasicActionHelper.Helper_Get_Private_FClients: TList<System.Classes.TBasicActionLink>;
begin
Result := Self.FClients;
end;
{$ENDIF}
但是,我收到错误
E2003 未声明的标识符:TList<>
我必须承认我从来没有在 Delphi 中使用泛型,因为我最初听说过稳定性问题 + 我需要保持与 Lazarus/FreePascal 的兼容性。
我知道 Delphi 的最新版本再次改变了类助手,但我现在最感兴趣的是让它与 Delphi XE4 一起工作
该错误表明TList<T>
编译器不知道该类型。要使用它,您必须包含System.Generics.Collections
在您的uses
条款中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句