• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:OLEサーバコンポーネントを作ってますが、、、)

OLEサーバコンポーネントの作成について

このQ&Aのポイント
  • OLEサーバコンポーネントをC++で作成していますが、RECTの枠しかWord上に表示されません。
  • GetDataメソッドにブレークポイントを入れているが、引っかかりません。
  • RECT上にBitbltでGif画像を描く方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

>一応、GetData にブレークポイントを入れているのですが、引っかかりません。 についてだけ、ちょっとコメントを・・・。 Word 上でオブジェクトの挿入(新規作成)を行うと、OLE サーバが起動すると思うのですが、 この、Word から呼ばれて起動したプロセスは、デバッガ ( Visual Studio ? ) で起動しているプロセスとは別のプロセスとして起動しているので、ブレークポイントに引っかからないのだと思います。 Visual Studio なら、メニューの「ツール(T)」→「プロセスにアタッチ(P)」というのがあると思いますので、これで、Word から起動されたプロセスを選択すれば、デバッガでトレースできるようになるのではないかと思います。(他のデバッガについてはわかりません。あしからず。) もしかすると、リリースビルドではなくデバッグビルドの *.exe が起動するようにレジストリの登録をしておかなければならないかも、です。

morimot703
質問者

お礼

ありがとうございました。 おかげで、ほとんど、できあがりました。感謝です。 原因は、見ての通り、EnhMetaFile APIと普通のMetaFile APIの混在、 GetDataの描画に、BitBltでなくPlayEnhMetaFile() を使ったため BitBlt時、転送元DCが無効になるケースがあったため でした。

関連するQ&A