Refresh2メソッドの引数

[戻る]
andon 2004/10/25(月) 07:24:19
VC++6.0、MFC、SDIベースでアプリを組んでいます。
宜しくお願い致します。

CHtmlView::Refresh2メソッドについてなのですが、
引数が『int nLevel』という事でint型を渡したのですが、
コンパイルエラーが出ました。

私はCWebBrowser2を使っているのでこれが原因かと思ってみてみると、
こちらのRefresh2の引数は『VARIANT* Level』となっており、
これがコンパイルエラーの原因だと分かりました。

そこでこんな感じで組んだのですが、
VARIANT *param;
param->intVal = REFRESH_COMPLETELY;
m_web_browser.Refresh2(param);

以下の警告が出てしまいます。
『warning C4700: 値が割り当てられていないローカルな変数 'param' に対して参照が行われまし
た。』


正しく使用するにはどのようにしたらよいのでしょうか。
お願い致します。

シャノン 2004/10/25(月) 09:11:42
ポインタではなく実体を確保しませう。

VARIANT param;
param.vt = VT_I4;
param.iVal = REFRESH_COMPLETELY;

こんな感じでしょか。
あるいはこう?

CComVariant param( REFRESH_COMPLETELY );

間違ってたらごめん。

andon 2004/10/25(月) 10:01:59
[[解決]]
どうもありがとうございました。
無事目的の機能を持たせる事が出来ました。

C、C++は難しいですね。
未だによく分からない部分が多いです。

古いスレッドには追加発言できません。