• ベストアンサー

OCXのレジストリ登録

BCB5にて、OCXを作成しました。 開発環境では、もちろんレジストリ登録して(ツールがやってくれるんです)動作しています。 でも、他環境にそのOCXと関連DLL(と思われる)をインストールして、 REGSVR32 TARGET.OCX としても、エラーが出て登録できません。 エラーダイアログには、「Load Library(”Target.ocx”)failed. GetLastError returns 0x00000485」 と表示されます。これは、どんなエラーなのでしょうか? 関連DLLをインストールしたといいましたが、実はあんまり自信がありません。必要なDLLとは、どのようにしたら確実に判るものなのでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.4

>GetLastError returns 0x00000485 ERROR_DLL_NOT_FOUND ですね。 日本語ですと、 「このアプリケーションの実行に必要なライブラリ ファイルの 1 つが見つかりません。 」 英語ですと、 「One of the library files needed to run this application cannot be found.」 ちなみに、GetLastErrorで取得できるエラー値は、winerror.hで定義されているものが多いです。 エラー内容を英語や日本語で取得するには、FormatMessageを使えば取得できます。 ということで、必要なDLLが不足しているのだと思われます。

KAZUMI2003
質問者

お礼

アドバイスありがとうございました。 エラーの意味、教えていただいて、トラブルの原因に確信をもてるようになりました. 結果的には、ボーランドのDLL(CC3250MT.DLL)と、olerror32.dllなるものがあって、それを一緒にインストールしたら、登録できるようになりました。 この度は本当にありがとうございました。

その他の回答 (3)

回答No.3

>>必要なDLLとは、どのようにしたら確実に判るものなの >VC++に、そのようなツールがあったと思います。 Borland 製品にも TDUMP.EXE というのがありますよ。 Borland C++ Compiler 5.5 に入ってました。 >TDUMP -em AAA.OCX で見れます。

KAZUMI2003
質問者

お礼

アドバイスありがとうございました。 TDUMPで必要なDLLが判明しました。 で、結果的には、その中にボーランドのDLLと、olerror32.dllなるものがあって、それを一緒にインストールしたら、登録できるようになりました。 この度は本当にありがとうございました。

  • ykkw_2001
  • ベストアンサー率26% (267/1014)
回答No.2

>必要なDLLとは、どのようにしたら確実に判るものなの VC++に、そのようなツールがあったと思います。 あとは、BCのランタイムライブラリも一緒にインストールしてみてはどうでしょうか?

KAZUMI2003
質問者

お礼

アドバイスありがとうございました。 結果的には、ボーランドのDLL(CC3250MT.DLLって、これ何なんでしょうね?)と、olerror32.dllなるものがあって、それを一緒にインストールしたら、登録できるようになりました。 この度は本当にありがとうございました。

KAZUMI2003
質問者

補足

>VC++に、そのようなツールがあったと思います。 これは、つらいです。VC++を持っていないのです。 BCのランタイムが必要な可能性もあるのでしょうか?

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

ocxをフルパスで記述してもだめですか? エラーの意味は調べる環境が今ないのでしばらくしてから。 >関連DLL(と思われる)をインストールして、 これのインストール方法は?

KAZUMI2003
質問者

お礼

アドバイスありがとうございました。 フルパスでも試してみましたが、ダメでしたが、 結果的には、ボーランドのDLL(CC3250MT.DLL)と、olerror32.dllなるものがあって、それを一緒にインストールしたら、登録できるようになりました。 この度は本当にありがとうございました。

KAZUMI2003
質問者

補足

アドバイスありがとうございます。 インストールはBCB用の(付属の)InstallShield EXpress for C++Builderというものでしました。OCXと、関連DLL、(BorlndMM.DLL含む)を<WINSYSDIR>に対して、インストールするようにしました。 Windous¥systemにそれらがコピーされたのを確認しました。 また、SMTP系のものだったため、WSock32.dllがあるのも確認したのですが・・・

関連するQ&A

  • レジストリ登録について

    教えてほしいことがあります。 VBで作成したOCXのレジストリ登録についてです。 Regsvr32を使用せずに、 そのOCXを貼り付けたEXEを起動することで、 レジストリ登録が出来ているようなんですが、 これって正攻法なんでしょうか。 そういうものなんでしょうか。 98のPCではレジストリ登録を行わないとExeの実行はできませんでした。ですが、XPとVistaではできるようなんです。 Vistaの場合レジストリ登録が結構大変なので、Exeを起動することで対応させようかと思っております。 何かご存知の方、いらっしゃいましたら是非ご教授ください。 よろしくお願い致します。

  • regsvr32でActiveX登録を行ったocx

    regsvr32 で ActiveX登録を行った ocx がリソースエデイタ「のActiveX コントロールの挿入」で使用できなくて困ってます。 開発環境は VisualStudio2005 の VC++ で、Version は 8.0.50727.867 になります。 レジストリエディタで確認すると以下のレジストリキーで登録されていることを確認できるのですが。 HKEY_CLASSES_ROOT\CLSID\{9BD4A8F2-56BA-11D3-915D-00C04F797034} 『ActiveX コントロール テスト コンテナ』の「コントロールの登録」ダイアログで表示される一覧中には含まれていません。 また、「コントロールの登録」ダイアログで「登録」ボタンを押しても一覧に追加も行われません なんとなくセキュリティっぽい事までは分かるのですが、どなたかヒントをお持ちでしょうか?

  • mscomm32.ocxの登録方法

    現在、Visual Studioがインストールされていない環境のWindowsでアプリケーションを起動させるにあたり、次の点がクリアできません。 サンプルにあります、「CCommCtrl」クラスを利用したプログラムなのですが、Windows2000において、「regsvr32.exe mscomm32.ocx」で登録を行ったにもかかわらずエラーが発生してしまいます。 他に登録するものがあるのでしょうか? Visual Studioのインストール後のWindows2000では、問題なく起動します。 どなたか、良いアドバイスを御願いいたします。

  • OCX登録用のbatファイルPGM御提供依頼

    OCX を登録するbatファイルのサンプルソースのご提供をお願いします。 某QRコードメーカのアプリケーションを使用する際に、使用する各PCにメーカ提供のOCXをレジストリに登録する必要があります。 これを業務部門に配布するために、特定のサーバにOCXとbatファイルを置いて、そのbatファイルをクリックすることで、クリックしたユーザのPCにOCXを登録できるようにしたいと思います。 しかし、何分どのようなコマンドを記述すればよいか、上記記載の場合わからず記載した次第です。 内容  XX.XX.XX.XX\QR\OCXのファイル名  をローカルPCに設定 某サイトに”for %%i in (*.DLL) do regsvr32 /s %%i”などの記載がありましたが 意味が分からず”regsvr32”がレジストリに登録するものとはわかりますが%%iの意味が分かりませんでした。 PGMのご提供と解説とともにお願いいたします。

  • エクセル2003から2007 のOCX 問題

    2003で VBAでソフトを作りましたが、2007のみの環境で エラーが出ます。 参照設定 MS-WIN-common-controls-2 6.0  MSCOMCT2.OCX が 引っかかります。 マイクロでは 2007で このOCXを 無くしました。結局 20年前の DLL地獄の再来なのですが、 読み込んだファイル、2007で参照設定 MS-WIN-common-controls-2 6.0 を外して、 2003と2007 両方存在する環境ならば 07ファイルに 変換しても OK 07のみだと、エラー それも、len() trim() など どうでもいいようは 構文です。 2007で これに相当する OCX もしくは DLL ご存じ方いらっしゃいませんでしょうか もしくは 03から 07に変換する作業で 一番簡単な方法は如何でしょうか 03でファイルを吐き出して、07で 読み込んでも 解決するのでしょうか?どうも ダメなような気がするのですが・・・・ よろしくどうぞ ネットで配布するような使い方ですので レジストリー登録は 出来ないのです。 ちなみに 2010 のみの環境なら それはまたOKなのです。

  • windows7でmscomm32.ocxを使用

    現在の動作環境 アプリ:VisualBasic6.0で作成     Mscomm32.ocxとMSWINSCK.OCXを参照してCOM通信をしています。 OS:WindowsXP 今後はアプリはそのままでWindows7上で動かそうとしています。 OCXをWindows7機の所定の場所に置き登録しようとするとエラーになります。 登録コマンド regsvr32.exe c:\windows\sysmte32\MSWINSCK.OCX regsvr32.exe c:\windows\sysmte32\MSCOMM32.OCX エラー内容 「c:\windows\sysmtem32\MSCOMM32.ocxは読み込まれましたが、DllRegisterServerへの呼び出しはエラーコード0x8002801cにより失敗しました。」 と出ます。 何がいけないのでしょうか? もしくは、それ以前にWindows7上では使用できないといったことなのでしょうか? ご存知の方ご教授いただければと思います。

  • dllファイルをレジストリ登録できない

    Windows Vistaを使っています。 あるdllファイルがありまして、 そのファイルをレジストリ登録したいと思っております。 Windows XPでは正しくレジストリ登録できたdllのファイルなのですが、 Vistaで実行するとエラーとなってしまいます。 Vistaでの実効手順は以下の通りです。 (1)C:\WINDOWS\system32\cmd.exeを管理者権限で実行 (2)regsvr32 ~~.dllを実行 (2)を実行すると添付ファイルのメッセージが表示されてしまいます。 私なりに調べてみまして、 (1)を管理者権限で実行すること。 (2)でdllファイルをフルパスで指定して実行すること。 の2点は試しましたが、結果は同じでした。 何かほかに考えられることはございませんか? 解決できそうな案を、ご提示いただければ、私が確かめます。 ぜひご教示お願いいたします。

  • comdlg32.ocxライセンス(Access)

    Win98 Access2000 で、comdlg32.ocxを使いたいと思い、ActiveXコントロールを見たのですが、利用可能なコントロールにMicrosoft Common Dialog Controlがありませんでした。 C:\WINDOWS\SYSTEMに、comdlg32.ocxが入っていませんでした。 Win98のCD-ROMのtoolというディレクトリのsetupをおこなったら、comdlg32.ocxが入ってきて、regsvr32.exeを起動したところ、Access2000のActiveXコントロールの利用可能なコントロールに表示されたのですが、いざ、Formに登録しようとしたら、 「このActiveXコントロールを使用するライセンスがありません。」 とメッセージが出てきてしまいました。 VB6.0 SP3のランタイムをセットアップしたり、Office2000を削除し、再インストールしたり、 regsvr32で、レジストリの内容を削除して、登録しなおしたり、思いつくことはいろいろやってみたのですが、状況はかわりません。 お力添えを、お願いします。

  • VBで作成したOCXでバージョンが異なるのエラーが出ます

    VB6.0(SP5)+Windows2000(SP4)の環境です VBでAcitveX OCXを作成しましたが、使用する他のアプリケーションをディストリビューションウイザードでセットアッププログラムを作成し、他のPCへインストールすると「OCXのバージョンが古い可能性がある。最新のバージョンを入手してください」となりインストールができません VBでAcitveX OCXの作成では、2度目のコンパイルからバイナリ互換を指定しています 開発環境では、全て正常に動作するのですがインストール時にエラーとなります OCXを使用するアプリケーションは何度もコンパイルしていますが、OCXは随分前からコンパイルしていません 市販のOCXのように、system32にコピーしてregsvr32で登録するだけにしたい場合には、何を気をつければよろしいのでしょうか? OCX作成の指南をお願いします 宜しくお願いします

  • regsvr32で登録された一覧を知りたい

     よろしくお願いします。  環境はwindowsXPsp1です。同名のdllやocxが複数フォルダにあり、どちらがregsvr32で登録されているかわかりません。regeditで一つ一つ調べていたのですが、精神的な限界に達しました。一覧でずばんとわかる方法は無いでしょうか。  できればフリーソフトを使わずwindows機能だけでなんとか調べたいのですが・・・

専門家に質問してみよう