在设计时以某种方式覆盖Delphi默认过程?

我需要在设计时覆盖InstanceSize,我在运行时使用FastCode方法做到了:

FastcodeAddressPatch(FastcodeGetAddress(@SInstanceSize), @TWinControl.RfInstanceSize);


但是,在设计时有什么方法可以做到这一点?

忠告

最佳答案

“设计时间”实际上只是“运行时间”,而是在IDE的上下文中而不是在程序的上下文中。将您的代码放入设计时包中,然后将其加载到IDE中。 IDE将调用程序包单元中的所有Register过程,此时您可以运行所需的任何代码。


制作一个新的软件包项目(.dpk文件)。
设置项目首选项,以便它是一个设计时程序包。
向其中添加一个新的空白单元。
将一个过程添加到名为Register的接口部分。它必须有一个大写的R,其余的都小写。
随心所欲地实现该过程(例如,通过将呼叫置于FastcodeAddressPatch那里)。
编译并安装软件包。


对于您在步骤5中尝试执行的操作,我有些警觉,但我会让您自己解决。

09-15 21:37