GetOpenFileNameでRPCサーバーを利用できません
確定申告の気分転換にテキストエディタの開発をちょろっとしてたら前から気になっていた不具合が気になってしょうがありません。
それは、テキストエディタで開くファイルを選択する時にファイルダイアログを出すじゃないですか。旧テキストエディタはMFCを利用してたんでCFileDialogでしたが、今回はMFCを利用しないんでGetOpenFileNameなんです。
が。
GetOpenFileNameを実行する度にデバッグウィンドウに「RPC サーバーを利用できません。」と例外が出るんです。何度も何度も出るんです。困りました。
あーでもないこーでもないと色々試してみましたけど原因不明。これ結構ネットでも話題になっていて情報を基に色々と試してみますけど改善せず。皆さん困っているんですなぁ。で、独自で調べてみてたんですが、「概ね回避」する方法を発見。
それは、GetOpenFileNameのパラメータのOPENFILENAMEのメンバの「Flags」に「OFN_EXPLORER」と「OFN_ENABLETEMPLATE」を指定すれば、とりあえずファイルダイアログ表示時に例外は出ない模様。古いタイプのファイルダイアログを出す感じですかね。ただ、内容的にちょっとの謎の組み合わせなんですが。
が。
「概ね回避」と書いたのは完全回避ではなくて、場所を「コンピュータ」とか「ネットワーク」とか選ぶと例外発生。なんなんですかねこれ。余計に気になってしょうがない。あとちょっとだったのにー。
解決編につづく・・・と良いなあ。
・・・とりあえず確定申告に戻りませう。