--- "Ricardo Lima" <[EMAIL PROTECTED]> escreveu

> Tenho um FormHeranca que serve de herança para outros forms(tem uns
> 100 forms herdados dele), e é utilizado em todos os projetos
> (aplicações) da empresa.
> Porem em um dos projetos que utiliza esse form como herança sentiu
> a necessidade de se fazer um código na herança para que funcione em
> todos os forms somente desse projeto, os forms de outros projetos
> não precisam desse código, primeiro eu pensei em criar outro form
> herdando de FormHerança  e mudar toda a aplicação para que herdasse
> desse novo form, ou tentar fazer dessa forma, eu passaria um
> parametro pro form informando a classe pai e no create eu trocaria
> essa classe.
> 
> 
> Entendeu?
> 
> Qual solução você acha melhor pra esse caso?

Trocar o form pai de todos os forms do projeto.

Isto é muito fácil de fazer.

Primeiro tire uma cópia de segurança do seu projeto.

Depois crie o form pai da aplicação, faça com que ele seja 
descendente do form de seu framework. Não implemente *nada* ainda 
dentro dele.

Em seguida, abra todos os form do projeto, o .pas e o .dfm em um 
editor simples como o bloco de notas (desta forma o Delphi não se 
mete). Tudo o que descendia do framework, faça com que descenda do 
form que você acabou de criar. Não esqueça de atualizar o uses, tire 
a unit do framework e coloque a unit do seu novo form.

Volte ao Delphi e abra alguns forms para ver se tudo ficou ok. De um 
Project | Build All e torça pelo melhor.

ps - um framework foi feito para ser totalmente abstrato, ele não 
deve conhecer lhufas dos seus projetos, ele deve apenas criar 
funcionalidade para todos, da mesma forma. Assim sendo, seu framework 
terá vida longa.

--
Joao Morais


Responder a