Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
rgtt1552 Novato

Registrado: Quarta-Feira, 30 de Outubro de 2019 Mensagens: 17
|
Enviada: Qua Nov 13, 2019 10:49 pm Assunto: Executar FindComponent em outro form |
|
|
Tenho dois forms: form01 e form02.
Tenho algumas imagens no form01 e um edit com um número no form01.
Queria que, em um botão do form02, pegue o número no edit do form01 e busque a Image+número do edit e oculte essa imagem.
Estou fazendo assim, mas dá erro:
Código: | procedure Tform02Button3Click(Sender: TObject);
var
oculto:TComponent;
begin
oculto := FindComponent('form01.image'+form01.Edit4.text);
TImage(oculto).Visible:=false;
end; |
|
|
Voltar ao Topo |
|
 |
joemil Moderador

Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9100 Localização: Sinop-MT
|
Enviada: Qui Nov 14, 2019 8:57 am Assunto: |
|
|
deixa ver se entendi:
vc esta no form2, e quer pegar o texto do edit1 q esta no Form1, e esconder a imagem no Form1?
tente isto:
Código: | TImage(Form1.FindComponent(Form1.Edit4.Text)).Visible := False; |
_________________ <b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/ |
|
Voltar ao Topo |
|
 |
natanbh1 Colaborador

Registrado: Terça-Feira, 15 de Março de 2011 Mensagens: 3093 Localização: Belo Horizonte - MG
|
Enviada: Qui Nov 14, 2019 11:01 am Assunto: |
|
|
Complementando que o Form1 deve estar na memória senão dará o erro de Access Violation. _________________ ''A persistência é o caminho para o êxito.''
Charlie Chaplin |
|
Voltar ao Topo |
|
 |
rgtt1552 Novato

Registrado: Quarta-Feira, 30 de Outubro de 2019 Mensagens: 17
|
Enviada: Qui Nov 14, 2019 11:06 am Assunto: |
|
|
Como eu faria para o Form01 estar na memória? Pois está dando erro de access violation mesmo! |
|
Voltar ao Topo |
|
 |
natanbh1 Colaborador

Registrado: Terça-Feira, 15 de Março de 2011 Mensagens: 3093 Localização: Belo Horizonte - MG
|
Enviada: Qui Nov 14, 2019 11:12 am Assunto: |
|
|
Neste caso, uma opção é seu Form01 ser criado automaticamente junto com a aplicação.
Vá no menu do Delphi:
Citação: | Project/Options/Forms |
Nesta tela deixe o Form01 na lista "Auto-Create Forms". _________________ ''A persistência é o caminho para o êxito.''
Charlie Chaplin |
|
Voltar ao Topo |
|
 |
rgtt1552 Novato

Registrado: Quarta-Feira, 30 de Outubro de 2019 Mensagens: 17
|
Enviada: Qui Nov 14, 2019 11:14 am Assunto: |
|
|
Obrigado pela dica. Mas todos os meus forms estão já do lado esquerdo, onde tem o "auto-create forms". |
|
Voltar ao Topo |
|
 |
rgtt1552 Novato

Registrado: Quarta-Feira, 30 de Outubro de 2019 Mensagens: 17
|
Enviada: Qui Nov 14, 2019 11:24 am Assunto: |
|
|
Fiz alteração do código que você enviou para esse abaixo e deu certo:
Código: | TImage(form01.findcomponent('image'+form01.edit4.Text)).Visible:=false; |
|
|
Voltar ao Topo |
|
 |
natanbh1 Colaborador

Registrado: Terça-Feira, 15 de Março de 2011 Mensagens: 3093 Localização: Belo Horizonte - MG
|
Enviada: Qui Nov 14, 2019 11:24 am Assunto: |
|
|
Fiz uns testes aqui e comigo funcionou com o código abaixo:
Código: | TImage(Form01.FindComponent('Image' + Form01.Edit4.Text)).Visible := False; |
Na minha simulação, no texto do Edit4 tem o número 1 e o componente Image se chama Image1. _________________ ''A persistência é o caminho para o êxito.''
Charlie Chaplin |
|
Voltar ao Topo |
|
 |
rgtt1552 Novato

Registrado: Quarta-Feira, 30 de Outubro de 2019 Mensagens: 17
|
Enviada: Qui Nov 14, 2019 11:25 am Assunto: |
|
|
natanbh1 escreveu: | Fiz uns testes aqui e comigo funcionou com o código abaixo:
Código: | TImage(Form01.FindComponent('Image' + Form01.Edit4.Text)).Visible := False; |
Na minha simulação, no texto do Edit4 tem o número 1 e o componente Image se chama Image1. |
exatamente como eu havia testado agorinha hahahaha..
Muito obrigado! |
|
Voltar ao Topo |
|
 |
natanbh1 Colaborador

Registrado: Terça-Feira, 15 de Março de 2011 Mensagens: 3093 Localização: Belo Horizonte - MG
|
Enviada: Qui Nov 14, 2019 11:28 am Assunto: |
|
|
Disponha, amigo. _________________ ''A persistência é o caminho para o êxito.''
Charlie Chaplin |
|
Voltar ao Topo |
|
 |
|