大量のソースコードが利用できないプロジェクトがあります。関数の1つにIntfCast例外があり、CPUデバッガーを使用してアプリケーションをステップ実行し、キャスト操作を含む関数と関連するクラスの1つを識別しましたが、他のクラスを識別できません。エラーを再現しようとしていますが、試行しているキャスト操作がIntfCastを呼び出していません。キャストにIntfCastを呼び出すにはどうすればよいですか?
ありがとうございました。
IntfCast
オブジェクトまたはインターフェイスを他のインターフェイスにキャストしようとすると呼び出されます。内部的に呼び出すサンプルコードは次のIntfCast
とおりです。
type ISomeInterface = interface
[guid-goes-here, use ctr+g to obtain unique guid]
procedure DoSomething;
end;
var X: TComponent;
i: IUnknown;
begin
(X as ISomeInterface).DoSomething;
(i as ISomeInterface).DoSomething;
end;
IntfCast
ダイナミックキャスティングで呼び出されます。
これを読むhttp://hi.baidu.com/007ware/blog/item/de69ed3ce554890abba16726.html