dポイントプレゼントキャンペーン実施中!

Borland C++ Builder5にて、ActivXコントロールを作っています。
今までは、自分の環境下で思ったとおり(VCLを使って、Serverにあるファイルを扱うだけなのですが)動いていました。
ちなみにそれは、MSAccessのVBAで動くものです。

今回、それを他の環境下で試験してみると、VCLの部分がまったく表示されない状態になり、ホトホト困ってしまいました。
必要なDLL群もインストールしたもつりなのですが、他に要因が推察されるようでしたら、ご教授お願いします

A 回答 (3件)

なかなか原因がつかめないので、問題の切り分けからやり直してみましょう。



1.ActiveXコントロールが正しく登録されているか?
・・・regsvr32.exeを使って手動でレジストリ登録してみてください。

2.ActiveXコントロールが使えるか?
・・・Access以外で作成したコントロールを使用するアプリを作成し、動かないPCで動かしてみてください。

3.AccessでActiveXコントロールを使ったフォームが作成できるか?
・・・新たなmdbを作成し、ActiveXをフォームに貼り付けて見てください。

てな感じですかねぇ。

あとは、Access側とすると、OfficeのSPの違いとか、
MDACのバージョンとかですかねぇ。

この回答への補足

再び寝込んでしまって、申し訳ございません。
先日やっと、実験してみました。
結果的には、動かない環境は特別な状態になっているのがわかり、その他の環境では動いていました。
特別な環境とは、Win98から、Win2000にUPグレードしたもので、¥Windowsと¥Winntが両方あって、regsvr32 target.ocxとしても、Target.ocxが見つかりません。というメッセージが出てしまいます。また、スタートからのファイル検索にもなぜか、そのファイルが見つからない状態なのです。でも、¥WINDOWS¥SYSTEM32のDIRをとると、表示されるのです。そんなことって起こりうるのでしょうか?

補足日時:2004/04/09 12:37
    • good
    • 0
この回答へのお礼

なんか、勘違いというか、特殊な調子悪い環境に騙されてしまった状態に、つき合わせてしまったようで、申し訳ありません。根気強くお付き合いいただいて、感謝しております。またの機会がありましたら、よろしくお願いいたします。このたびはありがとうございました。

お礼日時:2004/04/11 08:50

>ひょっとして、マトが外れているでしょうか?


>全然、違う要因が他にあったりするのでしょうか?

cc3250mt.dll
borlndmm.dll

これらが使用するDLLはすべて動作しないマシンでもありますか?
OCXが使用するDLLだけではなく、DLLが使用するDLLも必要ですけど。

で、肝心のOCXはレジストリ登録してますか?
もしくは、できるようにインストーラを作成しましたか?

この回答への補足

風邪で寝込んでいて返事が遅くなってすみません。
cc3250mtとborlndmmの使用するDLLは、すべて、前述したものの中に入っていました。
レジストリ登録は自動的にするようにインストールシールドで、設定してあります。
正直、かなり参っています。
今の延長に解決があるのかどうか?でも、なぜ自分の環境だと動くのか?

補足日時:2004/04/03 08:36
    • good
    • 0

>必要なDLL群もインストールしたもつりなのですが、



つもりではわからないので、どのように?

あとAccessのバージョンは同一?

この回答への補足

以下のDLLが必要なのをTDUMPにより確認し、インストールシールドで、<WinsysDIR>に入れるようにしました。
(但し、米印のファイルは、もともと相手環境にあったので入れていない。インストール後これら全部が存在することを確認)
VCL50.bpl
borlndmm.dll
advapi32.dll *
kernel32.dll *
mpr.dll *
gdi32.dll *
user32.dll *
ole32.dll *
oleaut32.dll *
olepro32.dll *
cc3250mt.dll

で、Accessのバージョンは2000です。
ひょっとして、マトが外れているでしょうか?
全然、違う要因が他にあったりするのでしょうか?

補足日時:2004/03/31 17:08
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!