設計時に Delphi のデフォルト プロシージャをオーバーライドするにはどうすればよいですか。
設計時に InstanceSize をオーバーライドする必要があります。実行時に FastCode メソッドを使用して実行しました。
FastcodeAddressPatch(FastcodeGetAddress(@SInstanceSize), @TWinControl.RfInstanceSize);
しかし、設計時にそれを行う方法はありますか?
アドバイスをお願いします
設計時に Delphi のデフォルト プロシージャをオーバーライドするにはどうすればよいですか。
設計時に InstanceSize をオーバーライドする必要があります。実行時に FastCode メソッドを使用して実行しました。
FastcodeAddressPatch(FastcodeGetAddress(@SInstanceSize), @TWinControl.RfInstanceSize);
しかし、設計時にそれを行う方法はありますか?
アドバイスをお願いします
「設計時間」は実際には単なる「実行時間」ですが、プログラムのコンテキストではなく、IDEのコンテキストにあります。コードをデザインタイムパッケージに入れて、IDEにロードします。IDEはRegister
、パッケージのユニット内のすべてのプロシージャを呼び出します。その時点で、必要なコードを実行できます。
Register
。大文字のRと残りは小文字でなければなりません。FastcodeAddressPatch
そこに電話をかけるなど)。ステップ5であなたがやろうとしているように見えることについては少し警戒していますが、それを自分で解決させます。
「設計時」とは、「フォームデザイナでのコンポーネントの動作を変更する」ことを意味する場合、それは実際にやろうとしてはいけないことです。フォームデザイナはIDEの一部であり、BDS.exeで実行されているすべてのDelphiコードです。フォームデザイナでTObjectを変更すると、IDE全体で変更され、悲惨な結果を招く可能性があります。