【问题标题】:AaWiz VCL Component Migrated from Delphi 5 to Delphi 2005AaWiz VCL 组件从 Delphi 5 迁移到 Delphi 2005
【发布时间】:2012-03-25 00:17:34
【问题描述】:

我们的项目使用了最初由 Aardvark Consulting 开发的名为 AaWiz 的第 3 方 VCL 组件。

此组件极大地简化了创建用户界面向导的过程。向导甚至可以在 Delphi IDE 中运行,无需编写代码甚至编译 项目。

目前,我们在 Delphi 5 上有这个组件。有人将它迁移到 Delphi 2005 或更高版本吗?

谢谢

【问题讨论】:

  • “或更高”是什么意思?移植到 D2005 应该很容易。移植到 Unicode 可能会更加棘手。你能准确点吗?
  • 我们计划最终将我们的项目迁移到 D2010,但尚未最终确定我们将移植哪个第 3 方组件。但目前,我们正在将项目从 D5 迁移到 D2005。所以在开始之前,我们想知道是否有人将此组件迁移到 D2005。谢谢
  • 如果您要从 Delphi 5 移植,请勿移植到 2005。IDE 不稳定。 Delphi 2007 是最后一个也是最好的非Unicode delphi 版本。移植到 Delphi 7 或 2007。不要尝试使用 2005 或 2006。它们是垃圾。
  • 您是否考虑过改用 JVCL JvWizard?这就是我会使用的。
  • 嗨,沃伦,感谢您的 cmets。您会建议先移植到 Delphi 7 然后再移植到 2007 还是尝试直接移植到 2007?

标签: delphi components vcl delphi-2005


【解决方案1】:

自 Delphi 5 以来,设计时接口发生了相当大的变化。事实上,设计时 API 的最大单一变化发生在 Delphi 6 和 Delphi 5 之间。查看 gExperts 网页以获取 OTA 信息here

从 Delphi 6 开始有一个级别的更改,其中包括:

  1. 重命名设计条款中的所有单元。包含“Dsgn”的旧名称被重命名。以前的 DsgnIntf​​,现在是 DesignIntf​​、DesignEditors、DesignWindows 等。

  2. 设计时的一些通知消失了。 DesignWindows 已更改为使用接口。

我尝试在 Delphi 2007 中构建,这与 Delphi 2005 几乎相同,而我卡在这一点上:

procedure ComponentDeleted(comp: TComponent);override;

那个方法已经不存在了,现在的变化是你必须使用 IFormDesigner 接口,你必须在你的帮助器或窗口构造函数和析构函数中调用RegisterDesignNotificationUnregisterDesignNOtification

除此之外,我还看到至少 10 或 20 项其他需要修复的东西,除了单位的重命名,许多函数已经从一个地方移动到另一个地方,类型也发生了变化,现在引用了许多实际类型 (TFormDesigner) 的东西通过接口 (IDesigner)。

这超出了我的能力范围(对 IDesignSelection 的 TComponentList 相关更改超出了我的深度),我认为如果有人能做到,那将是具有设计时经验的人,包括从事 gExperts 工作的人,以及其他设计时的东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-30
    • 1970-01-01
    • 1970-01-01
    • 2018-12-25
    相关资源
    最近更新 更多