- ベストアンサー
VBの参照設定について
はじめまして、Doryaです。 早速ですが、VBでACTIVEX.DLLを作成してローカルのドライブにおいてEXEプログラムより参照設定しています。 このEXEをコンパイルして、他のPCへ移しましたがプログラムが、起動しませんでした。他のPCも、コンパイルしたPCと同じようにACTIVEX.DLLを、デシトリビューションウイザードで作り登録していました。 どうも、参照設定がうまくできてないような気がします。ためしに、プログラム(EXE)をデシトリビューションウイザードを使ってインストールしましたら、問題なくうごきました。これって、DLLとEXEを別々にコピーして、配布することはできないのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#9414
回答No.1
ActiveXを使用したDLLを作っているのだとしたら、 Regsvr32.exeで登録しないと参照してもみつからない というエラーで動作しないと思いますよ。 どうしても別々に配布したいのであれば、レジストリへの 登録の仕方も一緒に書かないといけないでしょう。 ではでは☆
その他の回答 (1)
- Hk2001
- ベストアンサー率48% (24/49)
回答No.2
c:\windows\systemにDllをコピーしたら動きませんか? コンパイルしたPCはレジストリに参照先を覚えているようなきがします。 レジストリに登録されていないとsystemを見に行くような。 推測ですいません
質問者
お礼
ご指導有り難うござます。 結局、再インストールしまして、動くようになりました。 やはり、何回もDLLを作り直して参照設定がうまくできて いなかったようです。 根本的な解決ではありませんが・・・。 いろいろ有り難うございました。
補足
早速の回答有り難うございます。 ご指摘のとおり、REGSVR32.EXEを使って、EXEを作成した端末と同じ構造(たとえばD:\DLL)にDLLをコピーし、レジストリに登録しました。しかし、EXEを実行しましたが、動きませんでした。VBPを開いてみるとやはり、参照不可になっていて、(参照設定の)チェックを外して、再度参照設定をし直すと動きました。 DLLの登録する場所(Winnt\System32とか?)、またはREGSVR32.EXEの記述の方法がまずいのでしょうか? それから、何回も登録したため、参照設定の参照可能なライブラリファイルがたくさん出てきて、regsvr32.exe -u コマンドでも削除できない状態です。これも、何か関係しているのでしょうか?