Компонент AaWiz VCL перенесен с Delphi 5 на Delphi 2005 - PullRequest
1 голос
/ 07 марта 2012

У нас есть проекты, в которых используется сторонний компонент VCL, изначально разработанный Aardvark Consulting, под названием AaWiz.

Этот компонент значительно упрощает процесс создания мастеров пользовательского интерфейса. Мастера могут даже запускаться из среды Delphi IDE без написания кода или даже компиляции проект.

В настоящее время у нас есть этот компонент на Delphi 5. Кто-нибудь перенес его на Delphi 2005 или выше?

Спасибо

1 Ответ

3 голосов
/ 07 марта 2012

Со времени Delphi 5 произошли значительные изменения в интерфейсах времени разработки. На самом деле самое большое единственное изменение в API времени разработки произошло между Delphi 6 и Delphi 5. Проверьте на веб-странице gExperts информацию OTA здесь .

Начиная с Delphi 6, существует один уровень изменений:

  1. Переименование всех единиц в предложении дизайна. Старые имена с "Dsgn" переименованы. То, что раньше было DsgnIntf, теперь это DesignIntf, DesignEditors, DesignWindows и т. Д.

  2. Некоторые уведомления во время разработки пропали. DesignWindows была изменена для использования интерфейсов.

Я пытался собрать в Delphi 2007, который почти такой же, как Delphi 2005, и где я застрял в этой точке:

procedure ComponentDeleted(comp: TComponent);override;

Этого метода больше нет, и теперь изменение заключается в том, что вам нужно использовать интерфейс IFormDesigner, и вам нужно вызывать RegisterDesignNotification и UnregisterDesignNOtification в вашем помощнике или конструкторе и деструкторе окна.

Помимо этого, я вижу, по крайней мере, 10 или 20 других вещей, которые нуждаются в исправлении, кроме переименования модулей, многие функции перемещаются из одного места в другое, и типы меняются, на многие вещи, которые были действительными типами (TFormDesigner), теперь ссылаются через интерфейсы (IDesigner).

Это вне моей способности портировать это (связанные с TComponentList изменения в IDesignSelection не в моей глубине), и я думаю, что если кто-то сможет это сделать, то это будет кто-то с опытом работы во время разработки, включая людей, которые работают в gExperts. и другие вещи времени разработки.

...