VS2010的ATL项目里的rgs文件?

北京的雾霾天 2010-04-27 11:05:59
使用VS2010建立了一个Atl项目,添加了一个Atl控件类X,编译测试都成功,可是生成的这个控件类在“插入ActiveX控件”对话框里没有找到,于是和Vs2005对照了一下,发现Vs2010的控件Rgs文件和Vs2005的不一样。两个版本的RGS文件对照如下列出的,我试着按Vs2005的样子修改了Vs2010的Rgs,控件可以出现在了“插入ActiveX控件”对话框了。

问题是Vs2010是因为“有问题”呢,还是说没有必要像Vs2005那样了?

按我的理解应该是Vs2010搞错了,但为什么会出这样的低级问题呢,难道以后再建立Atl都要手动的来修改一下?
大侠们怎么看这个问题?


Vs2005中RGS文本原文:
--------------------------------------------------
HKCR
{
ATL1.X.1 = s 'X Class'
{
CLSID = s '{CEDF8EC7-F16B-49BE-B61C-B90EE2E7E61A}'
}
ATL1.X = s 'X Class'
{
CLSID = s '{CEDF8EC7-F16B-49BE-B61C-B90EE2E7E61A}'
CurVer = s 'ATL1.X.1'
}
NoRemove CLSID
{
ForceRemove {CEDF8EC7-F16B-49BE-B61C-B90EE2E7E61A} = s 'X Class aaaaaa'
{
ProgID = s 'ATL1.X.1'
VersionIndependentProgID = s 'ATL1.X'
ForceRemove 'Programmable'
InprocServer32 = s '%MODULE%'
{
val ThreadingModel = s 'Apartment'
}
val AppID = s '%APPID%'
ForceRemove 'Control'
ForceRemove 'ToolboxBitmap32' = s '%MODULE%, 102'
'MiscStatus' = s '0'
{
'1' = s '%OLEMISC%'
}
'TypeLib' = s '{87608F30-DDCA-4EA8-8E0E-5810D538619A}'
'Version' = s '1.0'
}
}
}



VS2010中的RGS文本原文:
-----------------------------------------------
HKCR
{
NoRemove CLSID
{
ForceRemove {0963A586-DB43-42B5-8270-E88C00AC5FD1} = s 'X Class'
{
ForceRemove Programmable
InprocServer32 = s '%MODULE%'
{
val ThreadingModel = s 'Apartment'
}
ForceRemove Control
ForceRemove 'ToolboxBitmap32' = s '%MODULE%, 108'
MiscStatus = s '0'
{
'1' = s '%OLEMISC%'
}
TypeLib = s '{C8470955-C099-4ED0-BF9D-119D0BA7CE57}'
Version = s '1.0'
}
}
}
...全文
468 点赞 收藏 7
写回复
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jameshooo 2010-04-29
没用过2010,想帮也帮不了,只能干瞪眼,接点分算了
回复
wshcdr 2010-04-29
会不会是 2010里的那个 控件 你并没有注册啊
回复
visualassist4680 2010-04-29
2010 没用过,等sp1 吧
回复
尹成 2010-04-29
去我的博客看看有相关2010的详细介绍!
回复
这个让我怎么结贴?没有一个权威的说法。。。
回复
sgzwiz 2010-04-27
2010还有许多问题,不知是bug呢,还是我没弄明白
回复
liumenghappy 2010-04-27
没用过2010,帮顶
回复
发动态
发帖子
ATL
创建于2007-09-28

3206

社区成员

ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
申请成为版主
社区公告
暂无公告