Fórum Retornar dados de um formulário para outro #521983
05/06/2015
0
É o seguinte tenho um formulário de cadastro e nele um botão que abre outro formulário com um listview com nomes de profissões, o que quero fazer é ao selecionar uma profissão e clicar no botão ok, feche o formulário das profissões e envie o valor selecionado para o formulário de cadastro...
[img]http://arquivo.devmedia.com.br/forum/imagem/378260-20150605-012919.png[/img]
já tentei por método de variável, tipo no formulário de cadastro, criei uma variável
frm_membros.DBEdit22.assign(profissao)
profissao é uma variável do tipo string que recebe o valor selecionado do listview.
já tentei
frm_membros.DBEdit22.text := listview1.selected.caption;
mas nenhum desses métodos funcionaram...
quem pode me dar uma luz de como realizar essa façanha ?
Alexsandro
Curtir tópico
+ 0Posts
05/06/2015
Jaime Santos
Exemplo:
Form das Profissões:
var
Prof: string; //public
form do cadastro:
chama form das profissões
showmodal ou show nele....//dentro dele trata tudo e antes do close dele a var global recebe a profissão
var local do cadastro recebe a var global do form profissões
FreeAndNil(form cadastro);
Att.
Gostei + 0
05/06/2015
Alexsandro
no formulário que das profissões:
criei uma variável publica no formulário de cadastro e uma variável publica no formulário das profissões
variáveis.
frm_cadastro -> profissao
frm_profissoes -> profiss
criei um botão no formulário das profissões e no evento onclick:
profiss := listview1.selected.caption;
frm_cadastro.profissao := profiss;
close;
ao clicar no botão está dando access violation at address
Gostei + 0
05/06/2015
Alexsandro
o código ficou assim:
profiss := listview1.selected.caption;
frm_cadastro.profissao := profiss;
FreeAndNil(frm_cadastro)
close;
Gostei + 0
05/06/2015
Ariel Morgan
procedure form.capturarProf;
begin
CampoRecebeValor.text := dataModule.tableCAMPO.value;
end;
depois lá no clique do botão... chamando o formulário em tempo de execução
e no botão:
whit botao do
begin
onClick := capturaProf();
end;
tenta isso... qualquer coisa posta ai ;)
Gostei + 0
05/06/2015
Ricardo Araujo
Gostei + 0
05/06/2015
Alexsandro
tem alguma idéia?
Gostei + 0
06/06/2015
Ariel Morgan
Abra o formulário em tempo de execução como falei..
você vai ter um procedimento que vá armazenar os dados pra depois carregá-los nos edit's:
procedure form1.capturarProf;
begin
CampoRecebeValor.text := dataModule.tableCAMPO.value;
end;
certo?
bom, no click do botão pra chamar ou formulário ou no click do edit que chamará determinado formulário tenta o seguinte:
procedure TForm1.Button1Click(Sender: TObject);
var
ChamaForm: TForm2; //Este seria o formulário com as funções, profissões!
begin
try
ChamaForm := TForm2.Create(Application);//cria o formulário
ChamaForm.ShowModal;
whit Form2do
begin
Button.OnClick := CapturarProf;
end;
finally
FreeAndNil(ChamaForm);
end;
end;
Vai ter que adaptar a sua necessidade e fazer o fechamento da tela ao clicar no OK
qualquer coisa manda um email!
Gostei + 0
06/06/2015
Alexsandro
Gostei + 0
06/06/2015
Alexsandro
estou te enviando o link do que eu fiz como teste e não obtive sucesso.
http://www.4shared.com/rar/tw6aQXrgba/Teste.html
agradeço muito se me informar onde errei... grato...
Gostei + 0
06/06/2015
Ricardo Araujo
você aceita baixo o exemplo ?
Gostei + 0
06/06/2015
Alexsandro
Gostei + 0
07/06/2015
Ricardo Araujo
https://www.dropbox.com/s/s2u1jh6cgiv4h2d/Exemplo%20Simples.rar?dl=0
qualquer coisa me avise.
Gostei + 0
07/06/2015
Alexsandro
Gostei + 0
07/06/2015
Ricardo Araujo
Acho que este caso está fechando certo ?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)