ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Como utilizar um Form.Show numa função (D10 Seattle)

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Mobile com Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
Nysp
Novato
Novato


Registrado: Terça-Feira, 4 de Mai de 2010
Mensagens: 22

MensagemEnviada: Sex Set 02, 2016 8:51 am    Assunto: Como utilizar um Form.Show numa função (D10 Seattle) Responder com Citação

Bom dia,

Estou desenvolvendo um aplicativo Android no Delphi 10 Seattle e encontrei um problema que não consigo solucionar...

Preciso exibir um form e com esse form irei preencher uma variavel para fazer alguns cálculos depois do form.show e continuar usando essa variavel em calculos até chegar no resultado que eu preciso. O problema é que quando eu realizo o show do form a função continua antes do usuário digitar um valor e pressionar o botão confirmar do form, causando um problema no resultado que eu preciso.

Eu já tentei usar inputbox mas causa o mesmo problema, tentei também usar showmodal mas no app exibe uma mensagem de que "ShowModal não foi implementado para essa plataforma". O mais interessante de tudo é que no Delphi XE6 eu tenho exatamente o mesmo código e funciona perfeitamente. Quando eu tentei procurar uma solução na internet descobri várias coisas mostrando que a partir do Delphi XE7 pra frente a forma de se usar inputbox e message dialogs mudaram por serem non-blocking...

Fiz um exemplo bem bobo para ficar mais fácil de entender o que eu estou querendo fazer:


Código:
procedure TfrmForm.Button1Click(Sender: TObject);
var
  vExemplo, vResultado: Integer
begin
  frmForm1.Edit1.Text := '';
  frmForm1.Show;

  if Length(frmform1.Edit1.Text) = 0 then
    vExemplo := 0
  else
    vExemplo := StrToInt(frmform1.Edit1.Text);

  vResultado := vExemplo * 5;

  ShowMessage('O resultado é ' + IntToStr(vResultado));
end;


O problema com esse exemplo é que o form é exibido e em seguida já aparece a mensagem "O resultado é 0" e eu não sei como resolver esse problema... Alguém poderia me ajudar?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Mobile com Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB