コンポーネントから使用ライブラリを調べるには?

解決


ガッツ・イチモツ  2006-10-10 19:42:38  No: 133627

[VB6.0,WIN2000]
昔作成したVBアプリの使用調査を行なっています。
その際、同じコンポーネントでも異なったライブラリを
使用していることが判明しました。しかしどのライブラリ
を使用しているかわからなくて困っています。
もし分かる方がいらっしゃれば教えてください
お願いします。


K.J.K.  2006-10-10 23:15:40  No: 133628

# 回答ではありません。
「ライブラリの使用」方法にもよるのでは。

関数ベースで外部DLLを使うとしたら、ほとんどの場合は、
http://msdn.microsoft.com/library/ja/jpdllpro/html/_win32_loadlibrary.asp
の解説の通りの順番で検索されますので、幾らでも他のバージョン
のものが使われる可能性がありますよね。

COM(オブジェクト)ベースのものであるとすれば、やはり作成時に
使われたのとは異なるものであっても互換性がある、というものならば
問題なく動くでしょう。

結局は、ソースコードから調べてみる必要があるでしょう。


ガッツ・イチモツ  2006-10-11 00:12:39  No: 133629

>「ライブラリの使用」方法にもよるのでは。
  「プロジェクト」→「コンポーネント」または
  「プロジェクト」→「参照設定」で
  追加されたライブラリです。
  主に*.dll、*.ocxです。

使用調査→仕様調査の間違いでした。申し訳ございません。
今回の質問の背景として現状のアプリを作成した祭、複数の人で作成
したのですがそのときに使用するライブラリを決めていなく
同じコンポーネント(例:テキストボックス)でも各々が異なった
ライブラリを作成した為、今になって参照ライブラリ環境の異なる
端末で改善しようとするとライブラリが参照設定されていないという
エラーが発生してどうしようもない状態になっています。
そういった経緯で例えば、あるプロジェクトA内のフォームAに
あるテキストボックスXはどのライブラリの参照で作成されたのかを
調査しています。
ソースコード(*.vdb、*.frm)を調査しました。
プロジェクト内で参照されているライブラリは
わかったのですが、コンポーネントに対する
ライブラリはわかりませんでした。
調査方法を教えてくだされば嬉しいです。


K.J.K.  2006-10-11 09:35:01  No: 133630

vbpファイルの
Reference
Object
の各フィールドと、

frmファイルの
Objectフィールド
及び
Begin MSComDlg.CommonDialog moDialog
のようなBeginで始まるコントロールの設定情報のブロックの記述、
ここでは"MSComDlg.CommonDialog"辺りを調べればわかりません?


ガッツ・イチモツ  2006-10-11 18:22:32  No: 133631

Begin [ライブラリ名].[オブジェクトの種類] [オブジェクト名]
で記述されていました。見落としていました。
本当にありがとうございました助かりました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加