3

インターフェイスを実装するオブジェクトがある場合、RTTI を使用してインターフェイスを検索し、その GUID を取得することはそれほど難しくありません。しかし、その名前が必要な場合、それを取得する方法はありますか? クラスの名前を取得するのは簡単ですが、インターフェイスの場合は少しトリッキーに思えます...

4

1 に答える 1

1

注意が必要なのは、インターフェイスから RTTI を取得することです。それができた場合は、PTypeInfoレコード ポインターに既に名前が含まれているはずです。

私のプログラムの 1 つで、GUID を文字列にマッピングする特別な登録システムを作成して、呼び出しQueryInterfaceの失敗と " as" キャストの失敗を報告できるようにしました。それは Delphi 2005 でした。私の理解では、それ以降の Delphi バージョンでは、インターフェイスの RTTI が進歩し、そのシステムはもう必要ないかもしれません。

于 2009-08-05T19:44:49.780 に答える