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

 



Responder a