社区
Delphi
帖子详情
Delphi的版本问题
Newperson
2002-12-18 04:05:00
请问从Delphi5.0下做的程序,在Delphi6.0的环境下要做哪些修改。越详细越好,最好面面俱到。谢谢!
...全文
316
11
打赏
收藏
Delphi的版本问题
请问从Delphi5.0下做的程序,在Delphi6.0的环境下要做哪些修改。越详细越好,最好面面俱到。谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
stonegem
2002-12-22
打赏
举报
回复
D6和D7是兼容吧。
silverwonder
2002-12-22
打赏
举报
回复
兼容性不好
befree
2002-12-21
打赏
举报
回复
用d7吧
纯冰糖
2002-12-21
打赏
举报
回复
有的vcl不能兼容的,注意
LKJ99
2002-12-20
打赏
举报
回复
如果还用到一些第三方控件的话,估计也有问题!
lovingkane
2002-12-20
打赏
举报
回复
升级到6容易,想再回到5,就麻烦了....
flfljh
2002-12-20
打赏
举报
回复
没有什么大问题
编译一下就知道了
ehom
2002-12-18
打赏
举报
回复
被重命名的 DsgnIntf 及其相关变化
在你的工程中对 DsgnIntf 的引用应该被改变为新的 Delphi 6 名称,DesignIntf。你也许也会需要添加DesignEditors,VCLEditors 和 RTLConsts 到你的 uses 子句。你也将需要添加 designide 到你的包的requires 列表。对 dsnide50 的引用可能也应该变为 designide,如果那没有被 Delphi 自动改变的话。
任何使用 IDesigner 的运行时包需要使用 IDesignerHook 来避免运行时需要 designide。在运行时代码里,IDesignerHook 应该足够。设计时代码可以使用 IDesigner,但是应该使用类似下面的代码来从 IDesignerHook 的一个实例获得实际 IDesigner 接口。
var
RealDesigner: IDesigner;
...
SomeDesignerHook.QueryInterface(IDesigner,RealDesigner);
...
IDesignerHook 仅要求 Classes 和 Forms 单元可用。IDesigner 需要 DesignIntf,后者包含了许多其它包,而其中一些可能不是可重新分发的。
组件编辑器的变化
类 TComponentEditor 在 Delphi 6 里有不同的祖先系。在 Delphi 5 里,它从 TInterfacedObject 继承;现在它从一个新的类 TBaseComponentEditor 继承。类 TComponentEditorClass 现在也是 TBaseComponentEditor 而不是 TComponentEditor 的一个类。这些层次体系上的变化会要求你修改你的旧的 Delphi 工程。
TDesignWindow 的变化
关于类 TDesignWindow,存在大量变化。它已经被移动到 DesignWindows 单元,并且它的 FormClosed 方法已经被 DesignerClosed 替代。过去,你可以通过使用 AForm 参数在 FormClosed 里获得对表单的访问。现在,在 DesignerClosed 里,你必须使用 Designer 的 Root 属性来访问表单。
在 FormClosed 里,你可以通过调用 TDesignerSelectionList.Create 或 TComponentList.Create 创建选择列表。为在 DesignerClosed 里创建选择列表,你必须使用一个 IDesignerSelections 接口。你可以使用CreateSelectionList 函数创建一个。
SelectionClosed 方法的参数也和 Delphi 5 里不一样。
VCL 包的变化
某些 VCL 相关的包的内容已经被重新分发到其它包。如果你在你的工程里引用 vcl50.dcp,你将需要将那些引用改变为指向其它单元,诸如 vcl.dcp 和 rtl.dcp。
OpenGL 接口单元移到 rtl.dcp 中
Borland OpenGL 接口单元(opengl.dcu)是 Delphi 5 Lib 文件夹里的独立单元。在 Delphi 6 中,它已经被集成到 rtl.dcp 里。对于移植到 Delphi 6 中的 Delphi 5 工程,这会导致某些问题。
这里有个例子。在一个 Delphi 5 工程里,通过放置同名的单元在你的工程路径的某个地方,你有可能做出一个工程特定的对 OpenGL 单元的覆盖。Delphi 6 中使用的同一方法也导致在使用 rtl.dcp 组件中出现许多名称冲突。现在需要名称上的改变。
某些类型从 HTTPApp.pas 移动到 HTTPProd.pas 中
HTTPApp 单元里的数个类型已经被移动到 HTTPProd 单元里。它们是 THTMLBgColor,THTMLAlign和THTMLVAlign。如果你的工程使用这些单元中的任何一个,你应当改变你的 uses 语句来指向 HTTPProd 而不是HTTPApp。
Search 单元被删除,SearchBuf 例程被移动和改变
单元 Search 不再存在于 Delphi 6 中。SearchBuf,这个在一个本文缓冲区内定位一个子字符串的例程,已经被移动到 StrUtils 单元;且它的参数已经变化了。最后的参数是一个 TStringSearchOptions 对象。如果你的工程因为编译器不能找到 Search 单元而不能编译,那么改变你的 uses 语句来包含 StrUtils 而不是Search。你也将需要检查你的 SearchBuf 调用以确保你的参数匹配新的语法。
lws0472
2002-12-18
打赏
举报
回复
非常详细,面面俱到的回答:什么都不用做,自动升级
Randy_Mic
2002-12-18
打赏
举报
回复
编译一遍,对照着报错信息一个一个对吧,没多少
flyingkiller
2002-12-18
打赏
举报
回复
他回自动升级的啊。
最新
Delphi
XE2 正式版破解程序
RAD Studio XE2中包含了新
版本
的
Delphi
、C++Builder、Prism和RadPHP。主要特性包括完整的
Delphi
64位Windows支持,通过全新的FireMonkey富商业应用平台支持Mac OSX和iOS,以及通过RadPHP XE2支持安卓web和移动应用...
Delphi
7 devexpress直接安装版
标题中的"
Delphi
7 devexpress直接安装版"指的是一个针对
Delphi
7开发环境的DevExpress组件的直装
版本
。DevExpress是一款流行的开发工具包,提供了大量的控件和组件,用于增强
Delphi
开发者的应用程序功能和界面设计。...
Chrome浏览器控件
Delphi
版 支持xe7、xe2、7.0等
本主题主要聚焦于
Delphi
版本
的Chrome浏览器控件,特别是针对XE7、XE2以及7.0等较旧
版本
的
Delphi
开发环境。 1. **Chrome Embedding API (CEF)**: CEF,全称为Chromium Embedded Framework,是实现这种集成的关键。它...
Delphi
控件 TMS Component Pack v8.3.4.0 XE10.2
XE10.2是Embarcadero公司于2016年发布的一个重要的
Delphi
版本
,引入了许多新特性,如支持Android和iOS的原生应用开发,以及增强了VCL(Visual Component Library)和FireMonkey(FMX)框架。因此,TMS Component ...
DeDe V3.50.02 (
DELPHI
反编译工具)
这部分源代码是用
DELPHI
6编译的,因此对于理解早期
DELPHI
版本
的开发模式有很好的参考价值。 总的来说,DeDe V3.50.02不仅是
DELPHI
程序员的强大辅助工具,也是软件逆向工程和教学研究的重要资源。它提供的反编译...
Delphi
5,930
社区成员
262,938
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章