嗨我正在开发一个TControl后代,让它命名为THTMLBaseControl,在运行时控件只根据该控件的设置生成和输出HTML代码,因此基本TControl类和方法的所有附加属性,包括Windows Messaging系统是真的没有在运行时使用并导致内存开销.
我需要从TControl继承该控件,因此在设计时我可以使用所有IDE设计器的东西.
但是在运行时几乎所有需要时间的属性都不需要它们.
我还有从THTMLBaseControl继承的所有控件,因此每个控件类创建一个包装类不是一个选项,因为它会重复复制代码.
所以我需要的是在运行时,在实例化类之前,我可以更改父类,以便它将基于另一个类似TControl的类进行实例化,可能名为TmyBaseControl继承自"TComponent"作为TControl,但不会拥有所有TControl内存开销,只有我的THTMLBaseControl所需的属性和方法.
我真的没有在rutime的GUI是一个只提供HTML的Web服务器,是intraweb和Raudus所做的一件事,但总是问题是所有都基于TControl,所以它们必须在运行时创建并生成很多内存和进程开销没有使用.也许有一个解决方案,所以在运行时实例化的任何THTMlBaseControl后代将继承TmyBaseControl的所有属性和方法,而不是TControl.
我已经看到有办法破解VMT,但也许有其他解决方案,但没有看到它.我已经完成了更改NewInstance,ClassParent和TnstanceSize类的方法,但我必须指定从哪个类,显然我必须为每个继承的THTMLBaseControl类执行相同的步骤
并且为了所有人:这只是一个疑问,我需要像TEdit,TPanel这样的控制组件,设计器IDE可见和可编辑我甚至可以创建我自己的TControl类但我只是想我是否可以重用代码已存在.
问候