2

古いものを置き換えることができるCOMオブジェクトDLLを開発する必要があります。古いCOMDLLを使用するアプリケーションを開発したくないので、これが必要です。同じプロパティとメソッドを使用して新しいCOMオブジェクトを作成します。私が目にする主な問題は、UUIDの公開です。それらのいくつかの重要性とそれらがどこで使用されているのか、私が複製しなければならないものと、異なるものとして残される可能性があるものを理解していませんか?COMオブジェクト(私の場合はNavision)を呼び出すプログラムが、ライブラリとタイプライブラリを記述するUUIDを使用していることがわかりました。誰かがそのような仕事の経験を共有できたらいいのにと思います。

4

1 に答える 1

4

GUIDは非常に重要です。これは、COMがインターフェイス、クラス、および型ライブラリを見つけるために使用するものです。名前の代わりに、人間は保証された一意の名前を選ぶのがあまり得意ではありません。

それらは完全に一致する必要があります。一致しないと、クライアントコードが正しく機能しません。さらに、インターフェイスがまったく同じシグニチャとまったく同じ順序でまったく同じメソッドを持っていることを確認する必要があります。GUIDを間違えると、妥当なエラーメッセージが生成される傾向がありますが、インターフェイスを間違えると、ほとんどの場合、診断できない実行時の動作が発生します。これは、運が良ければアクセス違反になります。

于 2012-08-13T12:57:43.257 に答える