0

それを行う方法はありますか?登録されたクラスのリストは Classes.pas ユニットの TRegGroups インスタンスにありますが、ユニットの実装セクションでインスタンスが宣言されていることが問題です。RegisterClass プロシージャまたは RegGroups.RegisterClass メソッドのアドレスを取得する方法はありますか?

4

3 に答える 3

2

KOLDetours.pas を使用すると、メソッドへの呼び出しをインターセプトしてから、元のメソッドを呼び出すことができます。

ここで見つけることができます: http://code.google.com/p/asmprofiler/source/browse/trunk/SRC/KOLDetours.pas

このファイルには、使用方法の例が含まれています。

于 2013-11-15T00:52:30.990 に答える
1

コメントで次のように述べています。

私は22個のパッケージを持っています。各パッケージには、(他に加えて)そのパッケージ内のすべてのユニットがインターフェイス セクションに配置されたユニットと、そのパッケージ内のすべてのクラスの単純な RegisterClass(TSomeClass) を持つプロシージャがあります。

その場合、答えは明らかです。たとえば MyRegisterClass という名前の独自の関数を定義し、代わりにその関数を呼び出します。

于 2013-11-15T11:00:45.563 に答える