DOBON.NETプログラミング道掲示板
(現在 過去ログ4 を表示中)
HOME
HELP
新規作成
新着記事
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
[
最新記事及び返信フォームをトピックトップへ
]
[ トピック内全4記事(1-4 表示) ] <<
0
>>
■34624
/ inTopicNo.1)
VB.NETで作成したDLLをVB6.0から呼び出す
▼
■
□投稿者/ tomy
一般人(1回)-(2021/01/20(Wed) 18:12:04)
環境/言語:[Windows7Pro VB.Net/VB6.0/.Net Framework4.0]
分類:[.NET]
VB6.0で作成されたアプリがありまして、このアプリの仕様変更があります。
その際、一部変更についてVB.Net 2015で作成したDLLを呼び出す必要があります。
VB.Net 2015側は「COM相互運用機能の登録」をオンにしてあり、VB6.0の開発環境にてRegAsmを実行し、登録できています。
VB6.0のプロジェクトからもDLLを参照設定できています。
この状態で、デバッグ時はDLLをVB6.EXEとおなじディレクトリに入れておかなければ動きません。
DLLがない状態だと
実行時エラー '-2147024894(80070002)'
オートメーションエラーです。
指定されたファイルが見つかりません。
が発生します。
また、アプリをEXEで実行しようとするとやはり同じディレクトリにDLLがないと動きません。
パスが通ったディレクトリにDLLを置いてもオートメーションエラーが発生します。
RegAsmは下記のようにしています。
C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe XXXXXX.dll /tlb
VB6.0からは上記コマンドで作成したtlbファイルを参照設定しています。
とりあえず同じディレクトリに置けば動くのですが、複数システムから参照するDLLのため、1か所で管理できればありがたいな、と思っています。
実行ファイルと同じディレクトリになくてもDLLを呼び出す手段はないでしょうか。
DLL開発環境
Visual Studio 2015(VB.Net)
Windows 7 Pro SP1
アプリ開発環境
Visual Studio 6.0(VB6.0)
Windows XP SP3
引用返信
削除キー/
編集
削除
■34625
/ inTopicNo.2)
Re[1]: VB.NETで作成したDLLをVB6.0から呼び出す
▲
▼
■
□投稿者/ Hongliang
大御所(595回)-(2021/01/20(Wed) 19:38:53)
RegAsm ***.dll /tlb /codebase
のように/codebaseオプションを指定すれば、このRegAsm時のdllのパスがレジストリが登録され、参照されるようになります。
引用返信
削除キー/
編集
削除
■34626
/ inTopicNo.3)
Re[2]: VB.NETで作成したDLLをVB6.0から呼び出す
▲
▼
■
□投稿者/ tomy
一般人(2回)-(2021/01/20(Wed) 19:54:52)
Hongliangさん
できました、ありがとうございます!
引用返信
削除キー/
編集
削除
■34627
/ inTopicNo.4)
Re[3]: VB.NETで作成したDLLをVB6.0から呼び出す
▲
▼
■
□投稿者/ tomy
一般人(3回)-(2021/01/20(Wed) 19:56:00)
おかげさまで解決しました。
ありがとうございました。
解決
済
み!
引用返信
削除キー/
編集
削除
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
Mode/
通常管理
表示許可
Pass/
HOME
HELP
新規作成
新着記事
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
-
Child Tree
-