• ベストアンサー

VBの参照設定について

はじめまして、Doryaです。 早速ですが、VBでACTIVEX.DLLを作成してローカルのドライブにおいてEXEプログラムより参照設定しています。 このEXEをコンパイルして、他のPCへ移しましたがプログラムが、起動しませんでした。他のPCも、コンパイルしたPCと同じようにACTIVEX.DLLを、デシトリビューションウイザードで作り登録していました。 どうも、参照設定がうまくできてないような気がします。ためしに、プログラム(EXE)をデシトリビューションウイザードを使ってインストールしましたら、問題なくうごきました。これって、DLLとEXEを別々にコピーして、配布することはできないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#9414
noname#9414
回答No.1

ActiveXを使用したDLLを作っているのだとしたら、 Regsvr32.exeで登録しないと参照してもみつからない というエラーで動作しないと思いますよ。 どうしても別々に配布したいのであれば、レジストリへの 登録の仕方も一緒に書かないといけないでしょう。 ではでは☆

dorya
質問者

補足

早速の回答有り難うございます。 ご指摘のとおり、REGSVR32.EXEを使って、EXEを作成した端末と同じ構造(たとえばD:\DLL)にDLLをコピーし、レジストリに登録しました。しかし、EXEを実行しましたが、動きませんでした。VBPを開いてみるとやはり、参照不可になっていて、(参照設定の)チェックを外して、再度参照設定をし直すと動きました。 DLLの登録する場所(Winnt\System32とか?)、またはREGSVR32.EXEの記述の方法がまずいのでしょうか? それから、何回も登録したため、参照設定の参照可能なライブラリファイルがたくさん出てきて、regsvr32.exe -u コマンドでも削除できない状態です。これも、何か関係しているのでしょうか?

その他の回答 (1)

  • Hk2001
  • ベストアンサー率48% (24/49)
回答No.2

c:\windows\systemにDllをコピーしたら動きませんか? コンパイルしたPCはレジストリに参照先を覚えているようなきがします。 レジストリに登録されていないとsystemを見に行くような。 推測ですいません

dorya
質問者

お礼

ご指導有り難うござます。 結局、再インストールしまして、動くようになりました。 やはり、何回もDLLを作り直して参照設定がうまくできて いなかったようです。 根本的な解決ではありませんが・・・。 いろいろ有り難うございました。

関連するQ&A