3

私はこれを理解できません。このベンダーhttp://www.mobyt.it/の OCX を使用して SMS を送信したいと考えています。これは dll であり、Vb、.NET、Visual C などで使用例を提供します。

私が得る例外は次のとおりです。

System.Runtime.InteropServices.COMException (0x80040154): インターフェイスが登録されていません。(HRESULT からの例外: 0x80040154 (REGDB_E_CLASSNOTREG))

私は私の心を壊しています。COMオブジェクトが登録されていないようですが、どのように登録すればよいですか?私は幸運にもregsvr32を試しました。

4

2 に答える 2

7

正しく登録されていると仮定すると、64 ビット バージョンの Windows で標準のエラー モードが実行されます。このような COM サーバーは、ほとんどの場合、32 ビット コードからしか使用できません。EXE プロジェクトを右クリックし、[プロパティ] > [ビルド] タブ > [プラットフォーム ターゲット = x86] を選択します。利用可能で有効になっている場合は、[32 ビットを優先] チェックボックスをオンにします。リリース構成について繰り返します。

次のアプローチは、Regedit.exe を使用して、実際に登録されていることを確認することです。HKLM\Software\Wow6432Node\Classes\CLSID\{guid}{guid} がエラー メッセージから取得した GUID に移動します。32 ビット オペレーティング システムでは、HKLM\Software\etc にあります。

次のアプローチは、SysInterals の ProcMon ユーティリティを使用して、プログラムがレジストリを検索し、DLL をロードしようとしているのを観察することです。

次のアプローチは、サプライヤにサポートを求めることです。

そして、それを機能させようとすることをあきらめます。

于 2010-10-18T15:18:23.663 に答える