★初心者にVisual C++を教えるスレ★ Part22
■ このスレッドは過去ログ倉庫に格納されています
0080デフォルトの名無しさん
2005/11/16(水) 09:57:52VBからは参照設定とか一切しないで下記のコードで動きます。
Dim obj as Object
Set obj = CreateObject("Hoge.Document")
obj.Property = "test"
obj.Function()
OLEを提供しているアプリケーションはHoge.exe, Hoge1.ocx Hoge2.ocxといった構成です。
VCで「タイプライブラリからクラスの追加」でHoge1.ocxやHoge2.ocxからスタブクラスを生成しても
VBのソースで参照しているプロパティやメソッドが抽出されません。
僕はHoge.exeにこれらプロパティが含まれている気がしてならないのですが
VCで「タイプイブラリからクラスの追加」でHoge.exeを選択すると、
「LoadTypeLibでエラーが発生しました。指定されたファイルがタイプライブラリではない可能性があります。」と出ました。
でもVBのソースを実行するとタスクマネージャのプロセス一覧でHoge.exeが立ち上がっているんですよね。
regeditでProgIDが"Hoge.Document"を検索すると下記のエントリが見つります。
マイコンピュータ\HKEY_CLASSES_ROOT\CLSID\{0000-0000-0000} <- 実際はクラスID
InprocHandler32 REG_SZ ole32.dll
LocalServer32 REG_SZ Hoge.exe
ProgID "Hoge.Document"
VC付属のOLE Viewで上記のプロパティやメソッドを持つタイプライブラリを探したのですが見つかりませんでした。
なにか別のやり方があるのでしょうか?それともVCから利用することは無理なんでしょうか?
■ このスレッドは過去ログ倉庫に格納されています