Re: [delphi-br] Form pelo nome
Funcionou perfeitamente, isso mesmo que eu precisava. Obrigado Jr. - Original Message - From: Rafael Marques To: delphi-br@yahoogrupos.com.br Sent: Wednesday, January 24, 2007 8:01 AM Subject: Re: [delphi-br] Form pelo nome Bom Dia Adauri!! eu faço da seguinte forma: procedure chamatela(tela: string); var pc: TPersistentClass; begin pc := GetClass('t'+tela); if (pc <> nil) then with TFormClass(pc).Create(f_principal) do try Name := tela; ShowModal; finally Free; end; end; sendo o f_principal o form principal da minha aplicacao e a variavel tela é o nome do form no Initialization dos forms eu preciso colocar RegisterClass(tfCadastro) sendo fCadastro o nome do form atual - Original Message - From: Adauri Antonio Camacho Junior To: delphi-br@yahoogrupos.com.br Sent: Wednesday, January 24, 2007 9:40 AM Subject: Re: [delphi-br] Form pelo nome É isso mesmo que eu quero, porem nao achei nada no google, pode me passa um exemplo. Obrigado Adauri Jr. - Original Message - From: Henrique Netzka (Vetor Sistemas) To: delphi-br@yahoogrupos.com.br Sent: Tuesday, January 23, 2007 8:35 AM Subject: Re: [delphi-br] Form pelo nome Opa! Se eu entendi direito... o que você está procurando é a criação de um form pela CLASSE. Neste caso, procure por "criar form pela classe delphi" no google que você encontra :) Keywords: RegisterClass, UnregisterClass, initialization, finalization, TFormClass, FindClass Abraços Henrique - Original Message - From: Adauri Antonio Camacho Junior To: delphi-br@yahoogrupos.com.br Sent: Tuesday, January 23, 2007 8:14 AM Subject: [delphi-br] Form pelo nome Bom dia a todos, eu gostaria de chamar o form pelo nome, por exemplo, gravo em um campo que o cadastro de cliente é o form FRM_CLIENTE, quando chamasse o cadastro de cliente eu passaria o nome do form, eu faria o create e o showmodal pelo nome do form. Alguem sabe como fazer isso ? Obrigado Jr. [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] -- Esta mensagem foi verificada pelo E-mail Protegido Terra. Scan engine: McAfee VirusScan / Atualizado em 23/01/2007 / Versão: 5.1.00/4947 Proteja o seu e-mail Terra: http://mail.terra.com.br/ [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Form pelo nome
Opa, ok, vamos lá então... Busca: http://www.google.com.br/search?hl=pt-BR&q=findclass+delphi+registerclass&meta= Resultado mais decente entre os primeiros 3 resultados: http://delphi.about.com/library/weekly/aa080905a.htm Função que você vai precisar: procedure CreateFormFromName( const FormName : string); var fc : TFormClass; f : TForm; begin fc := TFormClass(FindClass(FormName)); f := fc.Create(Application); f.Show; end; (* CreateFormFromName *) Em resumo... Você usa a função acima pra criar o form; as classes devem ser registradas com o RegisterClass (cfe vc vai ler no artigo), porém elas não precisam ser registradas todas no MainForm... É mais legal registrá-las no escopo initialization de cada unit, pq daí vc não precisa colocar as units no USES do seu MainForm (elas podem estar literalmente desconectadas). Para tanto, na unit de CADA FORM, você coloca (no fim, antes do end.): initialization RegisterClass(TMeuForm); finalization UnregisterClass(TMeuForm); end. Daí, na hora de criar, vc cria CreateFormFromName('TMeuForm'); e pronto A função pode ser melhorada... vc pode conferir, por exemplo, se o form é fsMDIChild ou fsNormal, e se for fsNormal vc põe ShowModal, esse tipo de coisa... Espero ter ajudado agora!! Abraços, Henrique - Original Message - From: Adauri Antonio Camacho Junior To: delphi-br@yahoogrupos.com.br Sent: Wednesday, January 24, 2007 9:40 AM Subject: Re: [delphi-br] Form pelo nome É isso mesmo que eu quero, porem nao achei nada no google, pode me passa um exemplo. Obrigado Adauri Jr. - Original Message - From: Henrique Netzka (Vetor Sistemas) To: delphi-br@yahoogrupos.com.br Sent: Tuesday, January 23, 2007 8:35 AM Subject: Re: [delphi-br] Form pelo nome Opa! Se eu entendi direito... o que você está procurando é a criação de um form pela CLASSE. Neste caso, procure por "criar form pela classe delphi" no google que você encontra :) Keywords: RegisterClass, UnregisterClass, initialization, finalization, TFormClass, FindClass Abraços Henrique - Original Message - From: Adauri Antonio Camacho Junior To: delphi-br@yahoogrupos.com.br Sent: Tuesday, January 23, 2007 8:14 AM Subject: [delphi-br] Form pelo nome Bom dia a todos, eu gostaria de chamar o form pelo nome, por exemplo, gravo em um campo que o cadastro de cliente é o form FRM_CLIENTE, quando chamasse o cadastro de cliente eu passaria o nome do form, eu faria o create e o showmodal pelo nome do form. Alguem sabe como fazer isso ? Obrigado Jr. [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Form pelo nome
Bom Dia Adauri!! eu faço da seguinte forma: procedure chamatela(tela: string); var pc: TPersistentClass; begin pc := GetClass('t'+tela); if (pc <> nil) then with TFormClass(pc).Create(f_principal) do try Name := tela; ShowModal; finally Free; end; end; sendo o f_principal o form principal da minha aplicacao e a variavel tela é o nome do form no Initialization dos forms eu preciso colocar RegisterClass(tfCadastro) sendo fCadastro o nome do form atual - Original Message - From: Adauri Antonio Camacho Junior To: delphi-br@yahoogrupos.com.br Sent: Wednesday, January 24, 2007 9:40 AM Subject: Re: [delphi-br] Form pelo nome É isso mesmo que eu quero, porem nao achei nada no google, pode me passa um exemplo. Obrigado Adauri Jr. - Original Message - From: Henrique Netzka (Vetor Sistemas) To: delphi-br@yahoogrupos.com.br Sent: Tuesday, January 23, 2007 8:35 AM Subject: Re: [delphi-br] Form pelo nome Opa! Se eu entendi direito... o que você está procurando é a criação de um form pela CLASSE. Neste caso, procure por "criar form pela classe delphi" no google que você encontra :) Keywords: RegisterClass, UnregisterClass, initialization, finalization, TFormClass, FindClass Abraços Henrique - Original Message - From: Adauri Antonio Camacho Junior To: delphi-br@yahoogrupos.com.br Sent: Tuesday, January 23, 2007 8:14 AM Subject: [delphi-br] Form pelo nome Bom dia a todos, eu gostaria de chamar o form pelo nome, por exemplo, gravo em um campo que o cadastro de cliente é o form FRM_CLIENTE, quando chamasse o cadastro de cliente eu passaria o nome do form, eu faria o create e o showmodal pelo nome do form. Alguem sabe como fazer isso ? Obrigado Jr. [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] -- Esta mensagem foi verificada pelo E-mail Protegido Terra. Scan engine: McAfee VirusScan / Atualizado em 23/01/2007 / Versão: 5.1.00/4947 Proteja o seu e-mail Terra: http://mail.terra.com.br/ [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Form pelo nome
É isso mesmo que eu quero, porem nao achei nada no google, pode me passa um exemplo. Obrigado Adauri Jr. - Original Message - From: Henrique Netzka (Vetor Sistemas) To: delphi-br@yahoogrupos.com.br Sent: Tuesday, January 23, 2007 8:35 AM Subject: Re: [delphi-br] Form pelo nome Opa! Se eu entendi direito... o que você está procurando é a criação de um form pela CLASSE. Neste caso, procure por "criar form pela classe delphi" no google que você encontra :) Keywords: RegisterClass, UnregisterClass, initialization, finalization, TFormClass, FindClass Abraços Henrique - Original Message - From: Adauri Antonio Camacho Junior To: delphi-br@yahoogrupos.com.br Sent: Tuesday, January 23, 2007 8:14 AM Subject: [delphi-br] Form pelo nome Bom dia a todos, eu gostaria de chamar o form pelo nome, por exemplo, gravo em um campo que o cadastro de cliente é o form FRM_CLIENTE, quando chamasse o cadastro de cliente eu passaria o nome do form, eu faria o create e o showmodal pelo nome do form. Alguem sabe como fazer isso ? Obrigado Jr. [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Form pelo nome
Opa! Se eu entendi direito... o que você está procurando é a criação de um form pela CLASSE. Neste caso, procure por "criar form pela classe delphi" no google que você encontra :) Keywords: RegisterClass, UnregisterClass, initialization, finalization, TFormClass, FindClass Abraços Henrique - Original Message - From: Adauri Antonio Camacho Junior To: delphi-br@yahoogrupos.com.br Sent: Tuesday, January 23, 2007 8:14 AM Subject: [delphi-br] Form pelo nome Bom dia a todos, eu gostaria de chamar o form pelo nome, por exemplo, gravo em um campo que o cadastro de cliente é o form FRM_CLIENTE, quando chamasse o cadastro de cliente eu passaria o nome do form, eu faria o create e o showmodal pelo nome do form. Alguem sabe como fazer isso ? Obrigado Jr. [As partes desta mensagem que não continham texto foram removidas]