怎样把DELPHI6编译过的程序转变为DELPHI5的程序,急急急急急急急!!!!!!!!!11(200分)

  • 主题发起人 主题发起人 一剑封喉
  • 开始时间 开始时间

一剑封喉

Unregistered / Unconfirmed
GUEST, unregistred user!
现在有一个DELPHI5的程序,小弟一不小心用DELPHI6编译了,再用D5打开之后就不能编译了
有没有备份,因为此程序有几个控件不能在D6中用,而且程序已经做好,换相同的控件好象
不行,所以不知道怎么办了。不知道那位大侠有紧急处理方法,非常急呀,
 
如果你只编译了一次,可以把源程序拷出,
把*.~dfm,*.~pas等改回原来的文件名即可。
 
你可以用其它的编辑软件打开这些文件自己处理一下。
 
怎么处理?
 
〉不能编译了
有没有设么提示?
 
就是提示主窗体的caption有问题,什么proper stream 什么有问题。
 
目前还没听说过什么好办法,
辛苦点的话,就只能拷用文本编辑器打开,重新写了!
 
用拷贝 复制大法
 
编译中会出现类似
ERROR READING FORM1.FONT.NAME:INVALID PROPERTY VALUE.
之类的错误!可对?
案例一
打开窗体,报BUTTON1.CAPTION类似错误原因
用ULTRAEDIT打开窗体文件,
object Button1: TButton
Left = 296
Top = 216
Width = 75
Height = 25
Caption = #21019#24314#23545#35937
TabOrder = 0
OnClick = Button1Click
end
原因:其实Delphi6和Delphi5中dfm文件中保存汉字是不同的,Delphi5是直接保存汉字,
Delphi6不知道是什么原因(可能是考虑跨平台的原因):保存在DFM文件中的汉字是经过编码的,
Delphi5如果再打开Delphi6修改过的带汉字的dfm文件就会出错,而如果打开了这个项目但不打开相关的Form,
则不会报错,而且能编译通过,但是在运行时就出现读属性错误,因为Delphi编译时是把dfm文件作为资源文件
原封不动的编译进EXE的。
解决方法:用ULTRAEDIT等文本工具打开窗体文件,将报错部分删除,
如上列的Caption = #21019#24314#23545#35937
然后程序就可以运行了!很烦?没办法,或则就用d6编译算了.
 
这个简单:
这是因为 Delphi 6 的 dfm 文件中使用Unicode表示中文,所以 Delphi 5 就傻了,你先
使用 Delphi 6 打开所有的窗口文件,使用文本参看方式(View as text),这时原来使
用 UNICODE 显示的地方又都会变成中文了,把它直接复制下来,覆盖原来对应的*.dfm文
件,这样标题就不会变了(记住这时不能再使用 Delphi 6 打开它),好了,现在可以使
用 Delphi 5 打开这些文件了,可能会提示一些属性不支持(Delphi 6 新增的特性),
忽略就搞定了。
 
留下地址,我发给你一个转换程序试试!
 
给我发一个把。我现在也为这个烦
liuzh0163.com
 
liu_dai@sohu.com多谢
 
to 一剑封喉
给你发了,但退回了!why?
重发,试试!
 
to 一剑封喉
又退回了!why?地址有问题!
 
linsb兄,是吗?不好意思,那你试试liudai@21cn.com,这回一定可以的,多谢
 
好用给来一个!
 
多人接受答案了。
 
后退
顶部