Passando uma classe como Parâmetro
Dalê Povo!!! Bleza???
Tenho uma dúvida e queria saber se é possível tal situação. Gostaria de fazer uma função e essa função receberia como [b:d27ff39a21]parâmetro uma classe[/b:d27ff39a21], não importando qual o tipo da classe ou melhor ainda gostaria de [b:d27ff39a21]passar a classe de um form como parametro [/b:d27ff39a21]tipo assim:
function SeiLaCriaForm(var pForm: TControl; const pClasse: <declaracao de classe>): Boolean;
algo dessa grandeza gente. Será que funciona? :shock:
Valeu!!! T+.
Tenho uma dúvida e queria saber se é possível tal situação. Gostaria de fazer uma função e essa função receberia como [b:d27ff39a21]parâmetro uma classe[/b:d27ff39a21], não importando qual o tipo da classe ou melhor ainda gostaria de [b:d27ff39a21]passar a classe de um form como parametro [/b:d27ff39a21]tipo assim:
function SeiLaCriaForm(var pForm: TControl; const pClasse: <declaracao de classe>): Boolean;
algo dessa grandeza gente. Será que funciona? :shock:
Valeu!!! T+.
Edvilson.chaves
Curtidas 0
Respostas
_rodfaria_
22/10/2005
https://sourceforge.net/projects/freeboleto/
http://www.ericksasse.com.br/?p=364
Sugiro que você dê uma olhada nos fontes do FreeBoleto. Acho que tem o que você precisa. Veja um trecho extraído de uFreeBoleto.pas
E nas outras units:
http://www.ericksasse.com.br/?p=364
Sugiro que você dê uma olhada nos fontes do FreeBoleto. Acho que tem o que você precisa. Veja um trecho extraído de uFreeBoleto.pas
TFreeClasseBanco = class; ... TFreeClasseBancoClass = class of TFreeClasseBanco; ... procedure TFreeBoleto.Preparar; var ClasseBanco: TFreeClasseBancoClass; begin ClasseBanco := TFreeClasseBancoClass(GetClass(´TFreeBanco´ + Padl(FCedente.CodigoBanco, 3, ´0´))); //É isso que você quer ? if ClasseBanco <> nil then begin FBanco := ClasseBanco.Create; try ...
E nas outras units:
TFreeBanco104 = class(TFreeClasseBanco) ... TFreeBanco033 = class(TFreeClasseBanco) ... TFreeBanco151 = class(TFreeClasseBanco) ...
GOSTEI 0
Edvilson.chaves
22/10/2005
https://sourceforge.net/projects/freeboleto/
http://www.ericksasse.com.br/?p=364
Sugiro que você dê uma olhada nos fontes do FreeBoleto. Acho que tem o que você precisa. Veja um trecho extraído de uFreeBoleto.pas
E nas outras units:
TFreeClasseBanco = class; ... TFreeClasseBancoClass = class of TFreeClasseBanco; ... procedure TFreeBoleto.Preparar; var ClasseBanco: TFreeClasseBancoClass; begin ClasseBanco := TFreeClasseBancoClass(GetClass(´TFreeBanco´ + Padl(FCedente.CodigoBanco, 3, ´0´))); //É isso que você quer ? if ClasseBanco <> nil then begin FBanco := ClasseBanco.Create; try ...
TFreeBanco104 = class(TFreeClasseBanco) ... TFreeBanco033 = class(TFreeClasseBanco) ... TFreeBanco151 = class(TFreeClasseBanco) ...
....bah acho que não me expressei bem vou dar um outro exemplo. Digamos que tenho duas classes que cedendem de TFORMS.
- TFORM_CADASTRO
- TFORM_CONSULTA
as duas com definições diferentes de formato de tela componentes, etc... o que quero eh fazer uma especie de função criadora de forms mas passando a classe do form como parametro. entende...éh mais ou menos isso.
Valeu obrigado pela força!!! até +.
GOSTEI 0
Massuda
22/10/2005
Talvez [url=http://forum.clubedelphi.net/viewtopic.php?t=68054]este tópico[/url] com diferentes formas de criar um form seja útil para você.
GOSTEI 0