在设计时以某种方式覆盖 Delphi 默认程序?
我需要在设计时覆盖 InstanceSize,我在运行时使用 FastCode 方法:
FastcodeAddressPatch(FastcodeGetAddress(@SInstanceSize), @TWinControl.RfInstanceSize);
但是,有没有办法在设计时做到这一点?
建议中的 Tks
在设计时以某种方式覆盖 Delphi 默认程序?
我需要在设计时覆盖 InstanceSize,我在运行时使用 FastCode 方法:
FastcodeAddressPatch(FastcodeGetAddress(@SInstanceSize), @TWinControl.RfInstanceSize);
但是,有没有办法在设计时做到这一点?
建议中的 Tks
“设计时间”实际上只是“运行时间”,但在 IDE 的上下文中,而不是在程序的上下文中。将您的代码放入设计时包中并将其加载到 IDE 中。IDE 将调用Register
包单元中的所有过程,此时您可以运行所需的任何代码。
Register
. 它必须有一个大写的 R 和其余的小写。FastcodeAddressPatch
那里)。我对您在第 5 步中尝试执行的操作有点警惕,但我会让您自己解决。
如果“在设计时”您的意思是“在表单设计器中更改组件的行为方式”,那么您确实不应该尝试这样做。表单设计器是 IDE 的一部分,IDE 是在 BDS.exe 中运行的所有 Delphi 代码。如果您在表单设计器下更改 TObject,您会为整个 IDE 更改它,这可能会带来灾难性的后果。