Código
Senhores bom dia, essa é a minha primeira participação aqui no site, eu gostaria de contribuir com uma dica para criar uma instância de objeto a partir do nome da sua classe, isso mesmo a partir da string que contém o nome de classe.
Eu já detalhei com exemplo o artigo e disponibilizei no meu blog, abaixo deixo o link para aqueles que estivem interessados possam ler o artigo na íntegra com todos os detalhes.
Espero estar colaborando corretamente para o site.
Obrigado!
http://josehenriquebr.blogspot.com/2009/09/criando-uma-instancia-de-classe-partir.html
Dica resumida:
*/
"Interface"
TminhaClasse = class (TDataModule)
private
FPrimeiraClasse: String;
procedure SetPrimeiraClasse(const Value: String);
published
property PrimeiraClasse:String read FPrimeiraClasse write SetPrimeiraClasse;
end;
TMinhaSegundaClasse = class(TminhaClasse)
private
FSegundaClasse: STring;
procedure SetSegundaClasse(const Value: STring);
published
property SegundaClasse:STring read FSegundaClasse write SetSegundaClasse;
end;
"Implementaton"
procedure TfrmCriarClasseString.InstanceClasse(AClassName: String);
var
lObj: TMinhaSegundaClasse;
Pers: TPersistentClass;
begin
Pers := GetClass(AClassName);
lObj := (Pers.Create) as TMinhaSegundaClasse;
if Assigned(lObj) then
try
lObj.FPrimeiraClasse := 'Propriedade da Classe ancestral';
lObj.FSegundaClasse := 'Propriedade da Segunda Classe';
Edit2.Text :=lObj.FPrimeiraClasse;
Edit3.Text :=lObj.FSegundaClasse;
finally
lObj.Free;
end
end;
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009