Parâmetro que possa receber mais de um tipo de classe
Colegas;
Quero criar uma procedure que receba um parâmetro, nesse parâmetro pretendo passar uma classe. Só que essa classe nem sempre será a mesma, como eu devo criar esse parâmetro, por exemplo:
Definição...
Chamada...
Quero criar uma procedure que receba um parâmetro, nesse parâmetro pretendo passar uma classe. Só que essa classe nem sempre será a mesma, como eu devo criar esse parâmetro, por exemplo:
Definição...
procedure Calcular(Parametro1: ????);
Chamada...
var Classe1 : TClass1; Classe2 : TClass2; procedure Calcular(Classe1); procedure Calcular(Classe2);
Vispo
Curtidas 0
Respostas
Rodc
13/09/2007
Se as classes forem suas, você pode fazê-las descender de uma classe em comum e receber por parâmetro a classe pai.
Você também pode fazer criar uma interface e usá-las nas duas classes, recebendo por parâmetro a interface criada.
Ou você pode receber por parâmetro um TObject. Todas as classes de componentes derivam de TObject. Depois você faz TypeCast do parâmetro para uma variável.
Ex.
procedure Calcular(Parametro1: TObject)
var teste: TClasse1;
begin
teste = TClasse1(Parametro1);
end;
Você também pode fazer criar uma interface e usá-las nas duas classes, recebendo por parâmetro a interface criada.
Ou você pode receber por parâmetro um TObject. Todas as classes de componentes derivam de TObject. Depois você faz TypeCast do parâmetro para uma variável.
Ex.
procedure Calcular(Parametro1: TObject)
var teste: TClasse1;
begin
teste = TClasse1(Parametro1);
end;
GOSTEI 0
Vispo
13/09/2007
[b:5d428ae4e4]rodc[/b:5d428ae4e4], muito obrigado pela resposta!
Abraço!
Abraço!
GOSTEI 0
Raserafim
13/09/2007
neste tópico dei outra solução
[url]http://forum.devmedia.com.br/viewtopic.php?t=90000[/url]
[url]http://forum.devmedia.com.br/viewtopic.php?t=90000[/url]
GOSTEI 0