C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: dll内クラスへのアクセス


(過去ログ 45 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■23992 / inTopicNo.1)  dll内クラスへのアクセス
  
□投稿者/ モー (14回)-(2008/08/26(Tue) 11:45:55)

分類:[VB.NET/VB2005] 

VB.NETアプリでマルチスレッドを用い、(厳密ではありませんが)同時にdll[VB6]内にあるクラスメンバを参照するとCOMExcepiton エラーになってしまいます。(⇒メッセージ:ライブラリは登録されていません。)

これを回避する方法はありますでしょうか?

ちなみにスレッド部は共通の1:nクラサバ環境の為、共通ロジックとなっております。


引用返信 編集キー/
■23993 / inTopicNo.2)  Re[1]: dll内クラスへのアクセス
□投稿者/ 鶏唐揚 (289回)-(2008/08/26(Tue) 11:50:58)
VB6製のDLLはActiveXなのでレジストリへの登録が必要となります。

引用返信 編集キー/
■23994 / inTopicNo.3)  Re[1]: dll内クラスへのアクセス
□投稿者/ やじゅ (576回)-(2008/08/26(Tue) 11:56:41)
やじゅ さんの Web サイト
No23992 (モー さん) に返信
> VB.NETアプリでマルチスレッドを用い、(厳密ではありませんが)同時にdll[VB6]内にあるクラスメンバを参照すると
> COMExcepiton エラーになってしまいます。(⇒メッセージ:ライブラリは登録されていません。)
>

マルチスレッドは関係ないですよね。
「ライブラリは登録されていません」って出ているなら、下記の例のように実際のエラーはもっと長いってことは
ないでしょうか?


参照コンポーネント 'AxRichTextLib' が見つかりませんでした。タイプ ライブラリを読み込めませんでした。
ライブラリは登録されていません。

引用返信 編集キー/
■23995 / inTopicNo.4)  Re[2]: dll内クラスへのアクセス
□投稿者/ モー (15回)-(2008/08/26(Tue) 12:07:32)
2008/08/26(Tue) 12:12:37 編集(投稿者)
2008/08/26(Tue) 12:10:28 編集(投稿者)

鶏唐揚 さん 、やじゅさん

回答有難うございます。

レジストリ登録はしております。

スレッドでもアクセスする少しタイミングをずらせば問題なく動作しています。

同時アクセス時(厳密にはそうではありませんが)にのみ現象が起こります。

クラスへのメンバ参照が競合するのか、原因が追究しきれておりません。

メッセージに関しては「ライブラリは登録されていません(HRESULTからの例外:0x8002801D (TYPE_E_LIBNOTREGISTERED))」となっております。



引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -