可能要微软的技术人员才能答,装了SP5 Release编译的EXE在纯Win98下会问题吗?

Richuen22 2003-12-10 01:17:58
一定要问个明白。
如果用了SP5的控件,假设为RichEdit,ADO等,但在一台没有装VC,也没有装SP5的纯WIN98下运行会不会有问题产生?
...全文
45 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Richuen22 2004-01-26
  • 打赏
  • 举报
回复
Last up
danielzhu 2004-01-20
  • 打赏
  • 举报
回复
up
Richuen22 2004-01-20
  • 打赏
  • 举报
回复
再Up
nonocast 2004-01-20
  • 打赏
  • 举报
回复
gz
Richuen22 2004-01-11
  • 打赏
  • 举报
回复
?
lygfqy 2003-12-10
  • 打赏
  • 举报
回复
richedit在98的情况下,需要注册一个控件
如果是数据库ado的情况下,msado.dll中虽然表面看起来一样,其实版本是有差别的
其中的数据集的智能指针的com中定义的接口实际上不太一样的所以要小心使用

下面是网络上的文章转贴,希望对楼主有所帮助:

#import msado15.dll生成的文件msado15.tlh里,_Recordset的IID是
"00000556-0000-0010-8000-00aa006d2ea4"
而那个倒霉98机器的注册表的HKEY_CLASSES_ROOT\Interface下没有这个IID!我赶紧用OLE View查看了98上的msado15.dll,却在里面看到了_Recordset接口,所有Interface,coclass应有尽有。有意思有意思!编了这么多年程序,让我长了记性:永远不要怀疑系统有问题、编译器有问题,永远要坚信是自已的程序的问题。幸亏我还算有点观察力,我发现这个98机器上的msado15.dll的_Recordset接口的IID是:
"00000555-0000-0010-8000-00aa006d2ea4"
看见没有,一个是556,一个是555,它们不是一个接口!
好,仔细看看OLE View为我揭示的msado15.dll:
_Recordset派生于Recordset20,Recordset20派生于Recordset15,Recordset15就差不多到根上了(怪不得文件名是msado15而不是msado20或别的),它们每个的IID都不一样。我又看了看2K上的msado15.dll, _Recordset派生于Recordset21,Recordset21派生于Recordset20,下面的派生树与98上的就一样了。我又注意到,2K的msado15.dll的library节的version属性是2.5,也就是说typelib版本是2.5,而98上的是2.1。
我终于明白了,原来我开发用的ADO版本与用户机器上的用户版本不一样,开发用的是ADO2。5,而用户机器上的是ADO2。1。ADO 2。1版的Recordset命名为Recordset21,2。0版的Recordset命名为Recordset20,依此类推,而ADO总是把最新版的Recordset接口命名为_Recordset。所以在用VC的#import时,生成的_RecordsetPtr是msado15.dll支持的最高版的Recordset。
114sky 2003-12-10
  • 打赏
  • 举报
回复
test

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧