私は物理学者です。インポートされた ActiveX コントロール (ocx ファイル) を使用して Delphi で作業しようとしています。ライブラリに IGraph、IGraphAxes、IAxis の 3 つのオートメーション インターフェイスがあるとします。ライブラリの構造は次のようになっています。
===IGraph のプロパティ:===
Idispatch* IGraphAxes;
... //他のメンバー
===IGraphAxes のプロパティ:===
Idispatch* XAxis;
Idispatch* YAxis;
Idispatch* ZAxis;
整数の色。
整数スタイル;
… //他のメンバー
===IAxis プロパティ:===
float Min、Max;
ブール値の ShowNumbers;
… //他のメンバー
IGraph から、GetIDsOfNames() および Invoke() 関数を使用して、IGraphAxes (色とスタイル) の単純なメンバーにアクセスできます。しかし、XAxis (または YAxis、Zaxis) にアクセスしようとすると、エラーが発生します。まず、GetIDsOfNames() を使用すると、問題なく XAxis の dispid が返されます。しかし、その dispid で Invoke を呼び出すと、「アドレスでのアクセス違反...」というエラーが発生します。idispatch ポインター (**Xaxis)* は何も指していないようです。どうすればこれを解決できますか?
Idispatch* Xaxis
と
IAxis インターフェイスを相互に接続するにはどうすればよいですか?
PS私の英語でごめんなさい、私はネイティブスピーカーではありません