Fórum como chamar forms genericamente? #229877

04/05/2004

0

Vixiii acho q ficou meio estranho o assunto...

Bom aqui eu explico melhor.. eu tenho um prog.. e nele uma tela principal d ond vou chamar todos os outros forms... q naum estaum no autocreate

queria fazer um procedure assim
CriaForm(nomedoform);

aqui eu so passaria o nome do form e conseguiria criar ele...

p naum ter q fazer isso aqui toda hora
try
nome := TNome.create(self);
nome.showmodal;
except
nome.release;
nome := nil;
end;//try

Aguardo as ideias..
Obrigado


Osocram

Osocram

Responder

Posts

04/05/2004

Lucas Silva

procedure CriarForm(Form: TForm)
begin
   if form = nil then
     form := Tform.create
    else
     form.Show;
end;

// e na hora de chamar..

CriarForm(frmCadastroClientes);



Responder

Gostei + 0

04/05/2004

Osocram

[quote:36bd37abb8=´Lucas Alves Silva´]
procedure CriarForm(Form: TForm)
begin
   if form = nil then
     form := Tform.create
    else
     form.Show;
end;

// e na hora de chamar..

CriarForm(frmCadastroClientes);
[/quote:36bd37abb8]

Lucas eu jah tentei isso.... mas ele cria um form zerado... e eu quero q ele crie um forme q jah exista mas naum esta no autocreate.

O prob eh esse.... eles naum saum do tipo TForm... eles saum descendentes dele.. por ex. TFrmCadProjetos, TFrmCadProgramadores...

Tem outra ideia?


Responder

Gostei + 0

04/05/2004

Lucas Silva

A função é esta mesmo...

CriarForm(TFrmCadProgramadores);



Responder

Gostei + 0

04/05/2004

Beppe

É preciso passar uma class-reference, não uma instância de form.

De acordo com os comandos do 1o. post:
procedure MostrarForm(Form: TFormClass) 
begin 
  with Form.Create(nil) do
  try
    ShowModal;
  finally
    Free;
  end;
end;



Responder

Gostei + 0

04/05/2004

Osocram

[quote:b58d716df8=´Lucas Alves Silva´]A função é esta mesmo...

CriarForm(TFrmCadProgramadores);
[/quote:b58d716df8]

Mas ae cai no prob q eu to encontrando.... esse TFrmCadProgramadores naum eh compativel c o TForm.

Bom pelo menos eu naum consegui fazer dar certo.


Responder

Gostei + 0

04/05/2004

Fer_nanda

Mas ae cai no prob q eu to encontrando.... esse TFrmCadProgramadores naum eh compativel c o TForm. Bom pelo menos eu naum consegui fazer dar certo.


Eu fiz aqui um teste rapidinho e funcionou... vc deve adcionar esse seus formulários q deseja criar na uses do form q está chamndo (form pricncipla), vc fez isso?


Responder

Gostei + 0

04/05/2004

Osocram

Fernanda...
Fiz isso sim... mas aqui esta dando incompatibilidade de classes.. pois um eh TForm e o outro eh TFrm... (eh uma subclasse d TForm eu acho)


Responder

Gostei + 0

05/05/2004

Osocram

Vixiii
Foi mauz galera.... erro meu..

Eu li errado...

(nome:TformClass) eu tinha visto (nome:TForm) q era como eu tinha feito...

Mau meu...
deu certo agora
:D
valeu a forca...


Responder

Gostei + 0

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

Aceitar