VB.NETでocxを使用するには?


かつ  2004-10-22 01:24:33  No: 117102

はじめまして

VB.NETでサードパーティ製のocxを使用しています。
(FJ製Linkexpress)

VB.NETのインストールされた環境で作成したDLLが、
VB.NETのインストールされていない環境にインストーラを使用して配布し実行したところ
エラーが発生しました。

<xxx.dll>
----------------------------------------
Private mfrmSend As frm_Send

Public Sub New()

    MyBase.New()
    mfrmSend = New frm_Send  …①

<中略>
End Sub
----------------------------------------

①のフォームにはサードパーティ製のコントロールのみ貼り付けてあります。

VB.NETのインストールされていない環境でエラー箇所を特定するために、
MsgBoxを①の前後に入れ、エラーハンドリングを作成しその中にもMsgBoxを入れて実行してみました。

結果は①でエラーが発生しています。
> 429:クラスが登録されていません。
のエラーメッセージが出ています。

ocxはレジストリに登録してあることは確認済みです。
(VB.NETのインストーラを作成して配布)

VB.NETがインストールされた別の端末でも試してみましたが、正常に通過します。
もちろんコンパイルした端末でも正常です。
また、VB.NETがインストールされていないさらに別の端末でも試してみましたが、やはり同じ箇所でエラーが発生してしまいます。
VB.NETがインストールされている端末では実行できて、インストールされていない端末だと実行できないようです。

もともとVB6で使用していたプログラムをVB.NETでコンバージョンして使用しようとしています。

ocxがうまく登録されていないのではと思っているのですが、
VB.NETでocxを使用するには、レジストリ登録するだけではだめなんでしょうか。

何かご存知の方いらっしゃいましたら教えてください。
よろしくお願いいたします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加