通知
すべてクリア
Topic starter
2008年8月13日 1:48 PM
VC2008で,VB2008用のActiveXコントロールを作っています。
VC2008でActiveXコントロールのプロパティを追加するとき,ウィザードでは
BOOL型は選べないので,VARIANT_BOOL型でプロパティを追加しました。
しかし,このプロパティを永続属性化させようとすると,
適切なPX_関数が見あたりません。
不作法ですが,VARIANT_BOOL型は内部的にshort型らしいので,
PX_Shortで試してみましたが,この場合コンパイルは通りますが
永続化はされないようです。(VB側で試してみました)
VARIANT_BOOL型のプロパティの永続属性化をするにはどうしたら良いか,
お知恵を拝借したく存じます。宜しくお願いします。
2008年8月13日 8:58 PM
なんとなくですが(2008もってません)
該当する変数があるcppファイルとhファイルの部分を
VT_BOOLなり、BOOLに書き換えてしまってみては?
PX_Boolもなくなってしまったのでしょうか?
Topic starter
2008年8月14日 11:35 AM
...さま,お返事有り難うございました。
>PX_Boolもなくなってしまったのでしょうか?
VARIANT_BOOL型だとPX_Boolはコンパイルで弾かれます。
色々試してみましたが,
・idlの指定はVARIANT_BOOL型のままにして,
・内部変数の型はBOOLに変更,
・永続化にはPX_Boolを使用
でうまく行きました。
なお,idlの指定をBOOL型にすると
VB側でプロパティの設定がうまく行きませんでした。
とりあえずうまく動いているけど,本当にコレでいいのかなぁ。
ということで,とりあえず未解決にしておきます。