GARANTIR DESCONTO

Fórum Criar Form sem declarar o mesmo na uses #267138

02/02/2005

0

Criei um componente edit com um Botão que ao ser clicado abre uma janela de pesquisa, nesta janela tenho opções para filtrar a pesquisa e um botão novo, gostaria de que quando eu clicasse no botão novo abrisse a janela de cadastro, exemplo se a pesquisa for de clientes abrira a janela de cadastro de clientes, se for de fornecedores abrira a janela de cadastro de fornecedores, estou passando o nome do form como parametro para criação do mesmo, só que não posso adicionar no uses da unit do componente o nome dos forms que serão cadastrados, pois este componente está sendo utilizado em dois sistemas diferentes e não possuem os mesmos forms.


Agradeço desde já.

Steve Narancic


Steve_narancic

Steve_narancic

Responder

Posts

02/02/2005

Paulo_amorim

Olá

Além do form que vc quer abrir, passe como parâmetro também a ComponentClass (TForm1, por exemplo) . Assim, vc faz:

supondo que seus parâmetros sejam Sender: TForm e TSender: TCOmponentClass, faça

Application.CreateForm(TSender, Sender);


Espero que ajude
Até+


Responder

Gostei + 0

02/02/2005

Steve_narancic

Da dando o seguinte erro Class not found


Responder

Gostei + 0

02/02/2005

Beppe

Adicione uma propriedade pública no seu componente.

TFormClass = class of TForm;

TLancadorCadastro = class(...)
private
  FFormClass: TFormClass;
...
public
  FormClass: TFormClass read FFormClass write FFormClass;
...
end;


O código do clique no botão seria:
with FFormClass.Create(Application) do
try
  ShowModal;
finally
  Free;
end;


Nas telas em que vc tem este componente, adicione a linha:
LancadorCadastro1.FormClass := TClientesForm;
ou
LancadorCadastro1.FormClass := TFornecedoresForm;
ou
...


Responder

Gostei + 0

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

Aceitar