私有组件字段嵌套在 Delphi 个框架中
Private component fields nested in Delphi frames
这里是 Delphi 组件和框架的快速比较,最后是我的问题。
Delphi 的优点 组件:
- 它们封装得很好。使用组件的软件只能访问组件的
public
和 published
属性。
- 它们的所有内部事件处理程序在父窗体的设计时都可用。
Delphi 的缺点 组件:
- 它们需要安装一些包
- 包在多个应用程序之间共享,即使里面的组件是特定于应用程序的
优点 of Delphi 框架:
- 它们可以像组件一样放置在表单上
- 它们的
published
属性也可以在表格中调整
- 它们仅在应用程序内可用,不适用于它们不属于的其他应用程序
- 它们很快可用。无需安装。
缺点 of Delphi 框架:
- 它们的所有内部组件都可以直接在父表单中使用。如果我从
published
部分移动组件,框架设计器中的设计时自定义也会被破坏。
- 如果我在框架中覆盖
Resize
方法,则所有安排仅在 运行 时可用。没有在设计时进行任何安排。
- 如果我引入一个新的
published
属性,它在对象检查器中不可用。
我想要的是一个共生的东西:
- 良好的封装。 None 的内部组件可从父表单获得,但它们的所有内部组件在 运行 时或在其设计时都具有完整的功能。
- 快速可用。无需安装。
- 仅限应用内。不与其他应用共享。
- 他们发布的属性可以在表格中调整
- 所有方法覆盖(尤其是 Resize 方法)在设计时可用。
你能推荐一个满足这些要求的东西吗?或者可能有一些我不知道的处理框架的令人惊讶的方法?
它不一定是框架或组件。如果其他一些 VCL 类 满足这些要求,我将不胜感激。
如果必须在设计器中编辑其属性,则对象必须是 TComponent
的 后代。 TFrame
实际上是 TComponent
的后代。
不幸的是,对象检查器似乎只使用来自设计时包的结构信息。因此,您必须为自定义发布的属性编译设计时包以显示在对象检查器中。
但这满足了您对 快速可用性.
的要求
这里是 Delphi 组件和框架的快速比较,最后是我的问题。
Delphi 的优点 组件:
- 它们封装得很好。使用组件的软件只能访问组件的
public
和published
属性。 - 它们的所有内部事件处理程序在父窗体的设计时都可用。
Delphi 的缺点 组件:
- 它们需要安装一些包
- 包在多个应用程序之间共享,即使里面的组件是特定于应用程序的
优点 of Delphi 框架:
- 它们可以像组件一样放置在表单上
- 它们的
published
属性也可以在表格中调整 - 它们仅在应用程序内可用,不适用于它们不属于的其他应用程序
- 它们很快可用。无需安装。
缺点 of Delphi 框架:
- 它们的所有内部组件都可以直接在父表单中使用。如果我从
published
部分移动组件,框架设计器中的设计时自定义也会被破坏。 - 如果我在框架中覆盖
Resize
方法,则所有安排仅在 运行 时可用。没有在设计时进行任何安排。 - 如果我引入一个新的
published
属性,它在对象检查器中不可用。
我想要的是一个共生的东西:
- 良好的封装。 None 的内部组件可从父表单获得,但它们的所有内部组件在 运行 时或在其设计时都具有完整的功能。
- 快速可用。无需安装。
- 仅限应用内。不与其他应用共享。
- 他们发布的属性可以在表格中调整
- 所有方法覆盖(尤其是 Resize 方法)在设计时可用。
你能推荐一个满足这些要求的东西吗?或者可能有一些我不知道的处理框架的令人惊讶的方法?
它不一定是框架或组件。如果其他一些 VCL 类 满足这些要求,我将不胜感激。
如果必须在设计器中编辑其属性,则对象必须是 TComponent
的 后代。 TFrame
实际上是 TComponent
的后代。
不幸的是,对象检查器似乎只使用来自设计时包的结构信息。因此,您必须为自定义发布的属性编译设计时包以显示在对象检查器中。 但这满足了您对 快速可用性.
的要求