http://hi.baidu.com/proglife/blog/item/81c4138bbc7a0b799f2fb41c.html
问题:
我在使用vc2005的类向导为控件生成变量时,发生了错误:在file://D:/Program Files/Microsoft Visual Studio 8/VC/VCWizards/CodeWiz/MFC/Variable/HTML/2052/default.htm的1587行提示对象不支持此属性或方法,错误页面如下:

点是(Y)继续运行,出现以下错误,变量类型选择框不出现:

分析:
打开上面的网页找到1587行,内容如下:VariableType.Clear(); 这个说明VariableType对象不存在或者没有Clear()的方法,在网页代码里向上查找,找到186行这句,知道VariableType对象的类型为CLSID:d4d285dd-2447-11d7-8bf6-00b0d03daa06,是VsWizard.WizCombo.8.0控件的。
|
为了测试此控件,特写了以下一个网页:
|
打开后出现错误如下图:

此页面中控件也不出现。由此可以肯定:要么 1. 该控件没有注册,要么 2. 该控件被IE的管理加载项禁止了。
解决方法:
针对第一种情况,就需要注册该控件。控件文件在D:/Program Files/Microsoft Visual Studio 8/Common7/IDE/VsWizard.dll,使用regsvr32进行注册。
针对第二种情况,请打开IE浏览器的Internet选项->程序->管理加载项,找到WizCombo Class,点击下面的启用,然后确定。
如果你在管理加载项里找不到WizCombo Class项, 请修改注册表项。具体方法如下:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Ext/Stats/{d4d285dd-2447-11d7-8bf6-00b0d03daa06}/iexplore]
"Type"=dword:00000001
"Time"=hex:d8,07,07,00,04,00,1f,00,0f,00,19,00,0c,00,90,02
"Count"=dword:0000000c
"Flags"=dword:00000004
"Blocked"=dword:00000005
拷贝以上到一个文本文件,后缀命名为.reg,然后双击该文件导入注册表信息,经过以上操作,你会发现IE的管理加载项里会多一项WizCombo Class,启用,问题应该可以解决。