タグ

2008年6月26日のブックマーク (2件)

  • #importメモ(Hishidama's VC++ #import directive Memo)

    例えば「#import <shdocvw.dll>」により、プロジェクトのワークディレクトリ内(デバッグビルドなら「Debugディレクトリ」の下)に「shdocvw.tlh」と「shdocvw.tli」というファイルが作られる。 コンパイル時の警告 shdocvw.dllやmshtml.tlbをインポートすると、コンパイル時に警告が出る。(VC++2005) #import <shdocvw.dll> #import <mshtml.tlb> warning C4192 'tagREADYSTATE' を自動的に除外し、タイプ ライブラリ 'shdocvw.dll' をインポートします tagREADYSTATEが他の場所(ocidl.hの中)で既に定義されているので、shdocvw.tlhの中ではtagREADYSTATEを定義しない(除外する)。そのままインポートを続行する。 という意

  • COM インスタンスを作成する

    ここの備忘録は、あくまでも走り書き程度のメモ的なものですので気をつけてください。 そのままでもちゃんと動くもの、手を加えないとだめなものなど、未完成レベルのコードです。ので、そのまま引用してしまうなど、プログラムを理解する知識のない方は利用しないでくださいね。 今回は Visual Studio .NET の Visual C++ 7.0 で作成した ComTest という COM コンポーネントを同じく Visual C++ 7.0 のプログラム内で使用するという感じのお話です。VC++ 6.0 とは少しやり方が違ったようなので、まとめて見ました。 ComTest というコンポーネントには、IComTest インターフェイスと、CComTest という CoClass が用意されているものとします。タイプライブラリファイルは _ComTest.tlb です。