强行安装Delphi3的控件后,Delphi6坏了(100分)

K

KenLee

Unregistered / Unconfirmed
GUEST, unregistred user!
任何新建的Application都报错:
[Fatal Error] Project1.dpr(5): Unit Controls was compiled with a different version of Consts.SParentGivenNotAParent
 
1、你可以删除安装的新控件包,办法:可以删除文件,让Delphi自己报错后删除。还可以修改注册表删除该包。
2、你可以重新Build一下你安装的包,看这个错误不像是不能安装,而是没有重新Comple导致的。
 
可能是你那个控件自带了Controls.DCU?
删除Controls.dcu,然后把Source/Vcl目录下的Controls.pas编译一下,拷贝到原来的目录
 
谢谢,我补充说明一下:
1、控件必须使用,并且就算卸载也没用,只能重装Delphi,再重装控件,我已经尝试了无数次了;
2、控件自身没有带controls.dcu;
3、控件用Delphi3下的dsgnintf,Delphi6必须用DesignEditors, DesignIntf;
在Delphi6/Source/ToolsAPI目录下,由于DesignEditors中uses了单元Proxy,
而整个计算机中都找不到这个单元,所以我就删了它,DesignEditors中只有一个地方
用到Proxy,我就把这一句也删了。之后正常安装,不知道是否因此引起?
4、现在能编译原Delphi3下用了这个控件的的程序,没有用这个控件的Delphi3程序一样不能编译!
 
你的控件就算没有带Controls.dcu,Controls.pas总归有的,搜索整个硬盘,找出Controls.dcu
文件,Delphi6目录下的保留,其他全部删除。
 
众位大侠,机器绝对干净,只有Delphi6的controls文件,但是根本无法使用。Delphi为什么
这么差,自己的产品都不向下兼容??
 
你的D3文件是带源码的吧?如果带源代码,应该可以的。
同时看你说的是带源代码的呀。你都修改了不少的。
你将你的控件中所有的Dcu都删除,然后编译、安装试验一下。
不出意外的话,应该可以安装,至少是安装。
 
>>Consts.SParentGivenNotAParent
你的控件用的是 Consts 文件,这个文件在D6中已改为 RTLConsts 了,请修改控件中的
Consts 为 RTLConsts。
 
Xxfeng,
问题我已自己解决,不过现在看到你的建议,这是最接近正确的了。错的是原先控件中
自己写了Consts,而我没注意,编译时与Delphi6中的Consts冲突了。
 
顶部