D6 Update#1和Update#2的一个大BUG(0分)

  • 主题发起人 主题发起人 mywyn
  • 开始时间 开始时间
M

mywyn

Unregistered / Unconfirmed
GUEST, unregistred user!
大家如果安装了Update#1或Update#2,就随我做个试验:导入MsXML(其实只要是Activex就行),在MSXML2_TLB.pas中查看TMXXMLWriter的方法
procedure TMXXMLWriter.Set_standalone(fValue: WordBool);
begin
Exit;
end;

正常的应该是
DefaultInterface.standalone := fValue;而不是EXIT。

大家可以用exit搜索一下,只要是Set_XXXX之类的都是Exit。

对Borland真是又爱又恨。


 
这是么 Bug ?
 
不算BUG?
那你可以设置standalone这个属性,看看有没有效
 
是啊,不是Bug,这部分代码本来就是没有用的,
不信你可以把它和它的声明删掉,
编译都不出错,

应该说是产生了垃圾编码,这些代码完全没有用,
但不影响控件或COM对象的功能的
 
to lich:
你说错了,我有两个证据:
1.拿 procedure TMXXMLWriter.Set_standalone(fValue: WordBool);举例:
D6+补丁:
procedure TMXXMLWriter.Set_standalone(fValue: WordBool);
begin
Exit;
end;

D6:
procedure TMXXMLWriter.Set_standalone(fValue: WordBool);
begin
DefaultInterface.standalone := fValue
end;
2.我的经历,也正是因为这我才发现的:
我的同事用VC写了个COM让我调用,发现我对属性赋值无效,当时只是怀疑我们两的程序
有问题,直到调试进了D6产生的Pas文件才发现应该赋值的地方都是Exit,尝试着把他改 过来,问题解决。
 
楼主说的没错,我导入了 MSXML2_TLB。pas文件,
的确如楼主所说,
而我刚开始是导入的 MSComm32 的控件,
它的情况的确如我所说,

但这个MSXML2 的导入文件的确是错误的,
不知道Delphi7是不是有这样的问题呢?

Borland为什么不修正这个漏洞呢?
 
我的机器上没发现MSComm32,只好拿ADO2.6试了一把,仍然有很多Exit,发现这个BUG的出现是有条件的:
1.只出现在属性的写操作中,且这个写操作是由函数实现的。
2.函数体内只有一条语句。
 
可以肯定,这是个bug,找找看网上有没有修正的方法!
 
看来大家对这个问题不大感兴趣,早知道我就加个200分了。
 
很少人用Delphi进行COM开发或使用,
虽然Delphi是进行COM开发的最方便的工具
 
不知大家有没有注意到:
copy( )函数的BUG呢?
 
看能不能找到这是update2的哪个文件造成的,能不能把文件换回来
 
to chenxiaoming:
能说具体点吗?
to lich:
工作量有点大,我决定发到CSDN上试试
 
后退
顶部