Form1 lt;-gt; Form2 - Form 2 lt;-gt; Form1 - Passa/Retor

05/12/2005

1

Alô gente!

* Utilizo Delphi7/DBExpress/query/provider/clientdataset/firebird.

Minha aplicação é SDI.

Em um form1 (ex: tela de cadastro de clientes) tem um botão na frente de um dbedit (ex: dbedit -> nome_usuario) que chama um form2 (Ex de pesquisa de usuários por nome) no modo ´MODAL´. (mas eu quero sair do modo SHOWMODAL (para dar mais liberadade para o cliente)).

O que eu queria era poder criar estes forms dinamicamente em modo ´NÃO MODAL´ (cadastro e pesquisa) de modo que eles pudessem ser chamados também apartir de um menu (que estaria no form principal), de forma que, se o usuario chamasse através do menu o -> form1 (cadastro não modal), dentro deste form2 (pudesse criar e mostrar o form2 (pesquisa não modal), e que ao fechar este form2 (pesquisa) ele voltasse para form1 retornando a ´CHAVE PRIMÁRIA´ localizada em um ex: DBGRID.

Beleza até aí :)?

Agora... Se o cliente entrasse pelo -> menu principal -> no form2 (pesquisa) e efetuasse uma pesquisa (achasse dados ou não), ao fechar o form2 (pesquisa) ele abrisse direto o form1 (cadastro) em modo não modal já retornando a ´CHAVE PRIMÁRIA´ se selecionada no DBGRID.

* Trabalhar com MODAL é mais fácil por que no fechar do form2 o código que trata o resultado (abaixo do SHOWMODAL) posiciona a tabela no campo... etc. e tal, mas com apenas SHOW, o processamento que está após a chamada do form2 (SHOW), passa direto. (e seria as linhas que tratariam o retorno da chave) :)

Uaiii... Que errolada... Enfim... Será que tem como fazer isto em modo não MODAL?

E com chamadas modal? seria que funcionaria? o cliente entra no 1 (cadastro MODAL) e tem botão para chamar o 2 (pesquisa MODAL) quando fecha já retornar a pesquisa para 1 (beleza).
Mas no inverso? Se ele entra primeiro no 2 (pesquisa MODAL) pesquisa e fecha... Como eu testo para saber apenas mostro o 1 (cadastro MODAL) (neste caso ele já deveria estar criado :) ou se tenho que criar e mostrar o 1? E quando ao parametro retornado, como ficaria?

Se puderem me ajudar... agradeco e muito.
se puderem me dar uma dica a respeito de não fazer esta enrrolada... agradeço as sugestões.

Valeu pelas ajudas.
Luciano-User-BA


Responder