Delphi 将共享变量添加到Tframe

Delphi 将共享变量添加到Tframe,delphi,Delphi,软件是Windows10上的Delphi10.2 有没有一种简单的方法可以在不创建新组件的情况下创建自定义覆盖Tframe 我设计了几个不同的框架,它们有共同的变量 所以我尝试了一个我以前见过的把戏 unit FrameExUnit; interface uses Forms,classes, ChromeTabs,ChrometabsClasses; Type Tframe=class(Forms.Tframe) Tab:tchrometab; end; implementa

软件是Windows10上的Delphi10.2

有没有一种简单的方法可以在不创建新组件的情况下创建自定义覆盖Tframe

我设计了几个不同的框架,它们有共同的变量

所以我尝试了一个我以前见过的把戏

unit FrameExUnit;

interface

uses Forms,classes, ChromeTabs,ChrometabsClasses;

Type
 Tframe=class(Forms.Tframe)
   Tab:tchrometab;
 end;

implementation

end.
并将FrameXUnit放在所有不同框架设计的uses子句中

我使用这个技巧创建自定义表单,我还有另一个组件(AMsplitter),它也可以工作,但我无法让它与Tframe一起工作

设计者似乎很高兴,但因为这些帧是在运行时动态创建的,所以继承的create事件中会出现一系列错误,因为它看不到Tframe的继承属性


我知道我一定是做了些傻事,有没有简单的方法向Tframe添加变量?

为什么不使用一个公共基类呢?@David我确实尝试过创建Tframex=class(Tframe),但它也有同样的问题。这就是你的意思吗?@David我还尝试重新发布它抱怨丢失的所有属性,这在一定程度上起到了作用,直到我得到一个甚至不在Tframe类中的“OldcreateOrder”。不知道该怎么绕开那一条。这太令人困惑了。我很高兴使用一个普通的基类。我想我找到了一把冒烟的枪。我使用调试DCU并跟踪到构造函数。我有一个CreateEx构造函数,它调用继承的Tframe.Create构造函数,但它没有通过类类型Tframe测试。