Categorias
Como mover componentes do delphi 5 para o delphi 6
Mover componentes do Delphi 5 para o 6 pode ser um problema. Como podemos fazê-lo?
Você já tentou compilar seus componentes ou componentes de 3ª parte que estão no Delphi 5 para o Delphi 6? 99% delas não irá compilar. No entanto, não se desespere. Isso é só por causa de algumas mudanças implementadas pela Borland em seu produto mais recente. Este artigo cobre as grandes mudanças.
Antes de mais nada, você vai descobrir que a unidade dsgnintf.pas está faltando. A Borland mudou o nome dela para Designintf.pas, moveu o código de propriedade do editor para uma nova unidade denominada DesignEditors.pas, pôs as constantes usadas em DesignConsts.pas e os menus em DesignMenus.pas
As variantes também passaram do system.pas para sua própria unidade denominada Variants.pas
A interface IFormDesigner não está mais lá. Você deve usar o IDesigner e digitar suas variáveis. (esta é provavelmente uma mudança feita para acomodar a CLX, e eu não consegui encontrar qualquer documentação sobre isso no sistema de ajuda on-line da Borland ou Delphi 6. Só descobri que cada IFormDesigner foi substituído com IDesigner)
A interface IDesignerSelections também mudou. A alteração mais útil é a adição de uma função que retorna um Get TPersistent quando é dado o índice do membro. Em versões anteriores, se você quisesse o TPersistent de um objeto que você escreveu:
var
p:TPersistant;
...
P:=Selections[i] as TPersistant;
Agora voce só escreve:
var
p:TPersistant;
...
P:=Selections.get[i];
A interface IComponentDesigner é nova e está localizada em ComponentDesigner.pas como parte do pacote Designide.dcp e não é um arquivo redistribuível. Então você terá que incluir o pacote DesignIde.dcp no pacote de design de tempo para a compilação funcionar neste arquivo.
É necessária.
Isso é tudo. Tenho usado estas simples instruções para recompilação de todas as minhas ferramentas de terceiros, e todos os meus componentes personalizados.
PS: Não se esqueça ... você tem que ter o código fonte para fazer isso! :-)
PS 2: Mais algumas mudanças
- O IDesigner.root era um TForm antes. Agora é um TComponent
- Anteriormente, o Proxies.dcu estava disponível como um arquivo, agora é parte do pacote de design tempo tempo designIDE. Se você não separou os pacotes de runtime e designtime para seu componente, você precisará deste pacote incluso na lista, no entanto, você não tem permissão para distribuir designIDE.dcp.
- algumas das constantes são movidos para as unidades VCLConsts.