- PR -

【VB.NET】クラスが登録されていません

1
投稿者投稿内容
TARO
会議室デビュー日: 2004/02/23
投稿数: 15
投稿日時: 2004-10-21 15:09
いつも参考にさせて頂いております。

VB.NETで開発しております。
1.EXEから自作DLLを参照する
2.DLL内でフォームにサードパーティの通信ツールのコントロールを配置する。
3.商用機で動作させる。

4.DLL内のソースコードで、
  Private mfrmSend As frm_Send

  Public Sub New()

   MyBase.New()

   mfrmSend = New frm_Send ← ここで落ちています
  〜〜省略〜〜
  End Sub

*frm_Sendは2のコントロールのみ貼り付けたフォームです。

エラーコード  :429
エラーメッセージ:クラスが登録されていません

開発機では正常に動作しております。
原因としましては、通信ツールがOCXを使用しており、それが原因かと考えました。
商用機にローカルコピーで作成されたDLLをアセンブリ登録してみたりしたのですが、
解決出来ませんでした。

どなたか詳しい方がいらしたら宜しくお願いいたします。

nodera
大ベテラン
会議室デビュー日: 2003/09/08
投稿数: 200
投稿日時: 2004-10-21 16:19
こんにちは。

その通信用ツールは、実機に正しくインストールされているのでしょうか?
OCXはコピーするだけではダメで、Regsvr32.exe等を利用して登録する必要があります。

.NET WindowsアプリケーションでOCXを利用していても、Releaseフォルダ等に実体はコピーされてこないので、Releaseフォルダの中だけコピーすればよいと思ってはいけません。OCX名によく似たaxなんたら.dllという名前のアセンブリが作られますが、これはOCX(ActiveX)のプロキシです。
そのあたりを確認してみてください。


[ メッセージ編集済み 編集者: nodera 編集日時 2004-10-21 16:20 ]
TARO
会議室デビュー日: 2004/02/23
投稿数: 15
投稿日時: 2004-10-21 18:52
noderaさん ありがとうございます。

アセンブリの登録と混同していました。
確認してみるとOCXがレジストリに登録されていませんでした。
この問題で、ここ数日かかってしまっていました。

本当に助かりました。ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)