Pessoal estou na luta... consegui fazendo o seguinte:
procedure MostrarForm(var varForm;InstanceClass: TFormClass); begin Application.CreateForm(InstanceClass, varForm); TForm(varForm).ShowModal end; Ae cae no problema que o Eduardo passou, tenho que enviar o Form e a Classe, têm como passar só o Form??? até mais --------------------------------- Alcir Alexandre da Silva Umuarama - Paraná - Brasil --------------------------------- ----- Original Message ----- From: "Alcir" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Friday, December 03, 2004 3:42 PM Subject: Re: [delphi-br] Rotina para criação de form.... > > Eduardo conseguiu implementar essa função? É que estou tentando algo > parecido. > > t+ > > --------------------------------- > Alcir Alexandre da Silva > Umuarama - Paraná - Brasil > --------------------------------- > > ----- Original Message ----- > From: "Eduardo Jedliczka" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Tuesday, July 20, 2004 9:47 AM > Subject: [delphi-br] Rotina para criação de form.... > > > > Há algum tempo atrás, desenvolvemos uma rotina para criar, mostrar e > > destruir um formulário (chamada MostraJanela), o problema é que estamos > > reestruturando esta função para não ter que passar o 2º Parâmetro > > (Reference), ou seja, estamos querendo definir uma variável interna do > tipo > > form e criar o form por esta viariável (na verdade um ponteiro). > > > > O Problema é que em muitos lugares acessamos este form pela sua variável > > pública definida no form, ou seja (FCadClientes) que não está instanciada, > > pois o form foi criado como um "outro" objeto... > > > > Então surgiu a dúvida: Como posso instanciar a variável FCadClientes para > > que esta seja igual à variável (digamos F) criada na nova versão da função > > abaixo ??? > > > > ===================== > > Eduardo Jedliczka > > GeraSoft Informática > > Apucarana - PR > > ===================== > > > > function MostraJanela(InstanceClass: TComponentClass; var Reference ): > > TModalResult; > > begin > > try > > Application.CreateForm(InstanceClass, Reference); > > TForm(Reference).Caption := 'GeraSoft'; > > Application.ProcessMessages; > > Result := TForm(Reference).ShowModal; > > finally > > TForm(Reference).Release; > > TForm(Reference) := nil; > > end; > > end; > > > > function MostraJanela2(InstanceClass: TComponentClass ): TModalResult; > > var > > F : TForm; > > Nome : String; > > begin > > try > > Application.CreateForm(InstanceClass, F); <=== InstanceClass vale > > TFCadClientes. > > F.Caption := 'GeraSoft'; > > Application.ProcessMessages; > > Nome := InstanceClass.ClassName; > > > > ???.FindForm( Nome ) := F; (ou seja, algo que realize um: FCadClientes > > := F; ) <=== Como escrever esta linha, se na lista dos formulários criados > > ela não está e um form não não é considerado "componente" ??? > > > > Result := F.ShowModal; > > finally > > F.Release; > > F := nil; > > end; > > end; > > > > [s] > > > > ===================== > > Eduardo Jedliczka > > GeraSoft Informática > > Apucarana - PR > > ===================== > > > > > > > > -- > > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > > > Para ver as mensagens antigas, acesse: > > http://br.groups.yahoo.com/group/delphi-br/messages > > > > Para falar com o moderador, envie um e-mail para: > > [EMAIL PROTECTED] ou [EMAIL PROTECTED] > > > > Links do Yahoo! Grupos > > > > > > > > > > > > > > > > -- > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > Para ver as mensagens antigas, acesse: > http://br.groups.yahoo.com/group/delphi-br/messages > > Para falar com o moderador, envie um e-mail para: > [EMAIL PROTECTED] ou [EMAIL PROTECTED] > > Links do Yahoo! Grupos > > > > > > > > > -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html