delphi - 为什么我不能声明通用形式

标签 delphi delphi-xe2

我试图做的基本上是声明这样的形式:

TFormCRUDBase<T : class> = class(TFormLayoutBase, MVP.Intf.CRUD.ICRUDView<T>)
{ ... }
end;


无论如何,无论是否允许此功能,编译器都不会指责任何错误或警告消息,但是当我尝试在设计器中添加一些控件时,我会收到此消息

Declaration of class TFormCRUDBase is missing or incorrect.


所以问题是为什么语法允许我使用,而IDE却让我无所适从。

提前

最佳答案

简而言之,表单设计器不支持泛型类型。

编译器适用于泛型类型。您可以使用运行时代码来构建UI,添加控件等。但是表单设计器不支持通用类型。

关于delphi - 为什么我不能声明通用形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28279579/

相关文章:

Delphi7 - 如何找到我的项目挂起编译器的位置?

android - Delphi 在 Android 上获取 LocationSensor Speed

delphi - 如何完成 threadvar 字符串以防止泄漏?

delphi - 在 FreeAndNil 之后使用对象时会发生什么?

android - 如何打开默认文件管理器

delphi - 无法解析 Delphi 中的单元名称

delphi - XE2和XE的IDE快捷键区别

delphi - 我的 'TCard' 是从哪个组件导出的? (游戏)

Delphi TZipFile 提取零字节文件

delphi - 如何在 Delphi 搜索路径中使用系统变量?