VS2010 で作成した vb.net Windows フォーム アプリケーションが正常に動作します。別のアプリケーションに書き込んでいるプラグインを介してそのアプリケーションにアクセスしたいと考えています。ただし、使用する場合:
odt = CreateObject("ODTuner.Application")
また
odt = GetObject(, "ODTuner.Application")
「ActiveX コンポーネントを作成できません」というエラーが表示されます。これは、商用アプリケーションにアクセスする場合は問題なく機能しますが、私のカスタム アプリケーションでは機能しません。最初は、これは私のアプリケーションが登録されていないことを意味すると思ったので、regasm を使用して登録しましたが、問題は解決しませんでした。これは単純なことだと確信しており、何かが欠けているだけです。答えを探しましたが、解決策が見つかりませんでした。正しいものを探していないのでしょうか? 助けていただければ幸いです。しばらくこれに固執しています。
追加情報: 私が書いているのは、商用アプリケーション (ModelCenter) のプラグインです。そのプラグインでカスタム アプリケーションを実行したいのですが、「ActiveX コンポーネントを作成できません」というエラーが表示されます。私のアプリを実行させる別の方法があれば、それは素晴らしいことですが、これが私が知っている唯一の方法です。
更新:ここに私がいる場所の詳細があります:
クラスの宣言にいくつかの属性を追加しました。コードは次のようになります。
<ComVisibleAttribute(True), _
Guid("4D0CF269-DD2F-4D09-93E8-1975FC253C9E"), _
ProgId("ODTuner.Application"), _
ClassInterface(ClassInterfaceType.None)> _
Public Class ODTuner 'frm_ODTuner
私が理解しているように、これにより、ProgId "ODTuner.Application" で COM が見えるようになるはずです。次に、プラグインには次のものがあります。
Dim odt
odt = CreateObject("ODTuner.Application")
しかし、「ActiveXコンポーネントを作成できません」というエラーが表示されます単純なWindowsフォームアプリケーション(CreateObjectを実行するための1つのボタン)でコードを試して、プラグインまたはModelCenterと関係があるかどうかを確認しましたが、そこに同じエラー。
検索して検索しましたが、なぜこれが機能しないのかわかりません。明らかに私は何かを逃した。どんな助けにも感謝します。
ありがとう