.OCXファイルについて調べています。
.OCXファイルの場所を変えたり、名前を変えてみたり(.OCXXなど)して.EXEを起動してエラーを確かめていたのですが、ふとしたタイミングで.OCXが無い状態で.EXEが正常に起動してしまいました。何度も確かめたのですが、.OCXはありませんでしたし、その.OCXは必要なものでした。
その後、.OCXを元の状態に戻して再度試みたのですが同じ現象が起こりません。
必要な.OCXが無い状態でも.EXEは正常に起動するのでしょうか?
起動するならばその方法を教えてきださい。
また、ビルドの際に.EXEに.OCXの情報を取り込むというようなことは出来ないですか?
>ビルドの際に.EXEに.OCXの情報を取り込むというようなことは出来ないですか?
ちょっと趣旨が違うかもしれませんが、VBが勝手にやってくれている
と思っていますが...。
ちなみに***.vbpファイルの中をみれば参照できるようにしたコントロール
のファイル(***.OCX)が格納されているのようですがこれを取得してみて
はどうですか?
ファイルが無いのにエラーが起きなかったのは、そのファイルへアクセスに
いく操作をしなかったか、キャッシュやどこかのメモリ上に残っていたのか
もしれませんね。
断定はできませんが..。
おそらく、そのOCXはsystem32等にあり、それはレジストリ登録されていると思われます。
ですから、名前を変えて動作しているように見えて実は、system32等の処から呼ばれているという可能性があります。
dllやocxの呼び出し順番は、
1.現タスクの実行ファイルのあるディレクトリ
2.カレントディレクトリ
3.\Windows\System32 ディレクトリ
4.\Windows\System ディレクトリ
5.…
といった具合です。OSによって違いがありますので下記を参照してください。
http://homepage2.nifty.com/DSS/VCPP/DLL/dllsearch.htm
いろいろ参考になりました。
ありがとうございました。
また何かあったらよろしくお願いします。