現在、子ウィンドウにIEコンポーネントのブラウザを表示させるアプリを作成しているの
ですが、一度子ウィンドウを閉じて、再度子ウィンドウを立ち上げると
「InternetExplorerでは○○をダウンロードできません。」
の警告が表示されてページすることができません。
原因がまったくわからないのですが、お心当たりあるかた教えていただけませんでしょう
か?
「InternetExplorerでは○○をダウンロードできません。」
の○○をの部分は何が入るんでしょう?
その部分に入るものはIEコンポーネントを表示する時に指定している何かと
関係が有りますか?
どういうコードでIEコンポーネントを表示させているかとか提示した方が
何かヒントになる意見が出やすくなると思います。
○○の部分には指定したサイトのアドレスが入ります。
コードについては
http://www.nitoyon.com/vc/tips/ie_component.htm
こちらにあるサンプルを参考にさせていただいています
書かれている内容からだけでは全くの当てずっぽうでしか
書けませんけれど、子ウインドウを閉じると言う動作をどのように
やっているかが気になりますね。
前に作成したコンポーネントが生きたままで新たに起こそうとしているとか
そんな事はないでしょうか?
特に根拠があるわけではないのですが、
二度目に起こると言う事なので一度目に作成したコンポーネントのインスタンスが
何かいたずらをしているような気がします。
//子ウィンドウを作成
CreateWindow()
//IEコンポーネントを作成
AtlAxWinInit()
//IEコンポーネントを表示させるウィンドウの作成
hwndIE = CreateWindow( AtlAxWin71, Shell.Explorer.2, WS_CHILD|WS_VISIBLE,
10, 10, 500, 300,hChildWnd, (HMENU)0, GetModuleHandle(NULL), NULL);
//ActiveXコントロールのインターフェースを要求
AtlAxGetControl(hwndIE, &punkIE)
// ポインタに格納
pWB2 = punkIE;
//URLへ移動
pWB2->Navigate2 ( http***** , &vempty, &vempty, &vempty, &vempty );
// 子ウィンドウが破棄された時
pWB2.Release();
このような感じでコーディングしています。解放の仕方等に問題があるのでしょうか?
えーと、これって同じ所で全部しているわけではないのですよね。
幾つかの場所でやっている事を集めていっぺんに書いているのでは
と思うのですが、かえって解りにくいような気が。(^^;
IEコンポーネントに関してはバリバリ使った事があるわけではないので
これを見てもはっきりここが悪いと指摘できないです。
仕様経験がある方がいらっしゃったらレスをしてあげてください。
お役に立てなくて申し訳ない。