Fórum Como executar um método de uma classe? #212558

09/02/2004

0

Galera,
possuo uma classe (A) q tem o método create.

O q acontece é q tenho uma função (B) q me retorno o Classname da Classe (A) e eu preciso executar o método create da classe (A).

Como posso executar um método de uma classe, apartir do nome desta classe?

Se eu recebesse da função (B) um objeto, eu poderia fazer:

((B) as Tclassename).create

fui claro?

Estou um tanto perdido?

Obrigado :?


Aledeol

Aledeol

Responder

Posts

09/02/2004

Beppe

Se você registrar primeiro com RegisterClass, pode usar GetClass ou FindClass:
RegisterClass(TMemoryStream)
B := FindClass(´TMemoryStream´);


Detalhe: o construtor Create que você chamar precisa ter os parâmetros correto. Chamar o Create() padrão pode lhe resultar no inesperado. Se as classes que você quer tem todas o mesmo construtor, declare uma classe com esse construtor, abstrato, e derive as classes desta. Então declare B como sendo desta classe. Por exemplo, sendo TComponent, você poderá usar qualquer descendente dele na VCL, já que todos suportam o mesmo construtor.


Responder

Gostei + 0

09/02/2004

Aledeol

Kra, o prob é o seguinte.

Minha app é divida em packages, e existe uma app principal que é a lançadora destes packages. O q estou querendo fazer é abrir o form principal de uma package qq (Vendas) dentro de um Tpanel para o usuário selecionar as opçoes desejadas (Vender extornar cancelar) que estão dentro do form principal do package.


Mas como fazer. Li um artigo sobre criar forms dentro de Pagecontrols, mas isto não se aplica ao meu caso.
Eu já at´´e consegui criar o form dentro de um panel da app lançadora. Mas como ele é chamado como Showmodal. Se o usuário quiser clicar em um bottão da app principal ele não consegue.

Tem como fazer isto?
Criar um form dentro de um tpanel, chamá-lo e ele não bloquear o acesso a componentes do form principal?

Obrigado :?


Responder

Gostei + 0

09/02/2004

Beppe

Se o problema é só colocar um form num panel, a solução é simples: use frames.

T+


Responder

Gostei + 0

09/02/2004

Aledeol

Não é só criar um form dentro de um Tpanel?
Este form está dentro de um package q é carregado pela app principal, quando o usuário o seleciona.

Isto pode ser feito com frames?

Obrigado


Responder

Gostei + 0

09/02/2004

Beppe

Não é só criar um form dentro de um Tpanel? Este form está dentro de um package q é carregado pela app principal, quando o usuário o seleciona. Isto pode ser feito com frames? Obrigado


Acho que sim, da mesma forma. Tenta aí e diz...

Eu não mexo muito com frames mas vou dar uma olhadinha depois.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar