OleとActiveXツールを使用していた古いプロジェクトを継承しました。コンパイルすると、PROP_ENTRYマクロで廃止予定の警告が表示され、PROP_ENTRY_TYPEで置き換えられますが、4番目のパラメータが使用されます。私はVT_BSTR、VT_UNIT、VT_UNKNOWNなどのタイプのリストを見つけましたが、タイプがどうあるべきかを理解する方法は私には不明です。古いマクロは型を必要としなかったので、私が使うことのできる古い方法ではデフォルト型がありましたか?それに失敗した人は、これらのアイテムのタイプがどのようなものであるべきかについて誰かが提案していますか?ほとんどの値が(?)文字列になる可能性があるので、私はVT_BSTRをすべて使ってみましたが、いくつかのActiveXのものでは失敗に終わりました。 VT_UNKNOWNも試みました。提案は高く評価されました。古いコードでは(いくつかの問題を抱えて)動作しますが、コードベースを前進させることができればうれしいでしょう。 おかげで、 ケンPROP_ENTRYからPROP_ENTRY_TYPEへの変換
BEGIN_PROPERTY_MAP(CCiButton)
#if 1
// old style
PROP_ENTRY("Caption", DISPID_CAPTION, CLSID_NULL)
PROP_ENTRY("Back Color", DISPID_BACKCOLOR, CLSID_StockColorPage)
PROP_ENTRY("Fill Color", DISPID_FILLCOLOR, CLSID_StockColorPage)
PROP_ENTRY("Font", DISPID_FONT, CLSID_StockFontPage)
PROP_ENTRY("Picture", DISPID_PICTURE, CLSID_StockPicturePage)
PROP_ENTRY("Button Style", 1, CLSID_CiButtonProp)
PROP_ENTRY("Text Color", 2, CLSID_StockColorPage)
PROP_ENTRY("Text Shadow Color", 3, CLSID_StockColorPage)
PROP_ENTRY("Tool Tip Text", 4, CLSID_CiButtonProp)
PROP_ENTRY("Disabled Picture", 5, CLSID_StockPicturePage)
PROP_ENTRY("Enabled", DISPID_ENABLED, CLSID_NULL)
#else
// new style, fails.
PROP_ENTRY_TYPE("Caption", DISPID_CAPTION, CLSID_NULL, VT_UNKNOWN)
PROP_ENTRY_TYPE("Back Color", DISPID_BACKCOLOR, CLSID_StockColorPage, VT_UNKNOWN)
PROP_ENTRY_TYPE("Fill Color", DISPID_FILLCOLOR, CLSID_StockColorPage, VT_UNKNOWN)
PROP_ENTRY_TYPE("Font", DISPID_FONT, CLSID_StockFontPage, VT_UNKNOWN)
PROP_ENTRY_TYPE("Picture", DISPID_PICTURE, CLSID_StockPicturePage, VT_UNKNOWN)
PROP_ENTRY_TYPE("Button Style", 1, CLSID_CiButtonProp, VT_UNKNOWN)
PROP_ENTRY_TYPE("Text Color", 2, CLSID_StockColorPage, VT_UNKNOWN)
PROP_ENTRY_TYPE("Text Shadow Color", 3, CLSID_StockColorPage, VT_UNKNOWN)
PROP_ENTRY_TYPE("Tool Tip Text", 4, CLSID_CiButtonProp, VT_UNKNOWN)
PROP_ENTRY_TYPE("Disabled Picture", 5, CLSID_StockPicturePage, VT_UNKNOWN)
PROP_ENTRY_TYPE("Enabled", DISPID_ENABLED, CLSID_NULL, VT_UNKNOWN)
#endif
END_PROPERTY_MAP()