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 

[RESOLVIDO] MessageDlg Android Seattle

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


Registrado: Segunda-Feira, 28 de Novembro de 2016
Mensagens: 78

MensagemEnviada: Qui Jan 05, 2017 10:57 am    Assunto: [RESOLVIDO] MessageDlg Android Seattle Responder com Citação

Bom dia,
Gostaria de saber se teria como usar o MessageDlg pro Android no Seattle?
Estou usando:
Código:

  MessageDlg('Você deseja imprimir o relatório?',
  System.UITypes.TMsgDlgType.mtInformation, [
  System.UITypes.TMsgDlgBtn.mbYes, System.UITypes.TMsgDlgBtn.mbNo], 0,
  System.UITypes.TMsgDlgBtn.mbNo);


Quando executo no windows funciona normalmente mas quando vou executar no android dá um erro: blocking dialogs not implemented on this plataform

Abraços.


Editado pela última vez por eduardoserrao em Seg Abr 24, 2017 1:57 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
marcelo_tux
Aprendiz
Aprendiz


Registrado: Terça-Feira, 2 de Abril de 2013
Mensagens: 230
Localização: São José do Rio Preto - SP

MensagemEnviada: Sex Jan 06, 2017 9:50 am    Assunto: Re: MessageDlg Android Seattle Responder com Citação

Tente assim amigo :

MessageDlg('Você deseja imprimir o relatório ?', System.UITypes.TMsgDlgType.mtInformation,
[System.UITypes.TMsgDlgBtn.mbYes,
System.UITypes.TMsgDlgBtn.mbNo
], 0,
procedure(const AResult: System.UITypes.TModalResult)
begin
case AResult of
mrYES:
begin
//caso sim
end;
mrNo:
// caso não
end;
end);
_________________
Porgramador Delphi - Mobile
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
eduardoserrao
Novato
Novato


Registrado: Segunda-Feira, 28 de Novembro de 2016
Mensagens: 78

MensagemEnviada: Sex Jan 06, 2017 10:18 am    Assunto: Re: MessageDlg Android Seattle Responder com Citação

Oi marcelo_tux, obrigado por responder meu tópico, testei do jeito que você sugeriu e funcionou Very Happy a única coisa que achei que ficou estranho foi o texto do message dialog que ficou em inglês. Será se você sabe alguma maneira que eu possa fazer ele ficar em português?

Mas uma vez muito obrigado Smile
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
marcelo_tux
Aprendiz
Aprendiz


Registrado: Terça-Feira, 2 de Abril de 2013
Mensagens: 230
Localização: São José do Rio Preto - SP

MensagemEnviada: Sex Jan 06, 2017 1:03 pm    Assunto: Re: MessageDlg Android Seattle Responder com Citação

Tem como traduzir sim , vamos la :

1 - Abra o arquivo FMX.Consts.pas que esta localizado no caminho :
C:\Program Files (x86)\Embarcadero\Studio\17.0\source\fmx

2- Dentro desse arquivo localize : { Dialog Strings } , ai vc traduz o que quer e salva o arquivo, apos isso gere o DCU dele e copie esse DCU para as pastas :
C:\Program Files (x86)\Embarcadero\Studio\17.0\lib\android\debug
e
C:\Program Files (x86)\Embarcadero\Studio\17.0\lib\android\release

Pronto , agora so compilar seu projeto.

Espere que ajude.
_________________
Porgramador Delphi - Mobile
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
eduardoserrao
Novato
Novato


Registrado: Segunda-Feira, 28 de Novembro de 2016
Mensagens: 78

MensagemEnviada: Sex Jan 06, 2017 2:44 pm    Assunto: Re: MessageDlg Android Seattle Responder com Citação

Oi marcelo_tux, eu tentei fazer aqui mas acho que fiz alguma coisa errada que na hora de compilar deu bastante erro.

localizei o arquivo FMX.Consts.pas e fiz as alterações.
copiei ele para dentro do meu projeto e mandei compilar.
fui na pasta onde ele gera o executável e copiei o arquivo FMX.Consts.DCU para as pastas Debug e Release.
removi a FMX.Consts.pas do meu projeto, fechei o delphi.
abri novamente e mandei compilar.

seria desta forma?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
marcelo_tux
Aprendiz
Aprendiz


Registrado: Terça-Feira, 2 de Abril de 2013
Mensagens: 230
Localização: São José do Rio Preto - SP

MensagemEnviada: Sex Jan 06, 2017 3:10 pm    Assunto: Re: MessageDlg Android Seattle Responder com Citação

Isso , a unica diferença , é que eu gero o DCu com um projeto novo, mas ate ai não vejo a diferença, pego esse DCU e jogo dentro da pasta release e debug, é isso mesmo que faço.
Ve direitinho os passos ai.
_________________
Porgramador Delphi - Mobile
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
eduardoserrao
Novato
Novato


Registrado: Segunda-Feira, 28 de Novembro de 2016
Mensagens: 78

MensagemEnviada: Sex Jan 06, 2017 3:17 pm    Assunto: Re: MessageDlg Android Seattle Responder com Citação

sim eu tentei desta forma, mas quando tentei compilar meu projeto novamente que ele abre aquela janela das linhas compiladas, o numero de erros fica crescendo e não para, ai tenho que finalizar o seattle pelo gerenciador de tarefas. ainda bem que copiei os dcu antigo antes de fazer este procedimento. de qualquer forma muito obrigado.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
wolverinefarah
Colaborador
Colaborador


Registrado: Sábado, 17 de Junho de 2006
Mensagens: 1770

MensagemEnviada: Sex Jan 27, 2017 1:25 pm    Assunto: Re: MessageDlg Android Seattle Responder com Citação

marcelo_tux escreveu:
Tente assim amigo :

MessageDlg('Você deseja imprimir o relatório ?', System.UITypes.TMsgDlgType.mtInformation,
[System.UITypes.TMsgDlgBtn.mbYes,
System.UITypes.TMsgDlgBtn.mbNo
], 0,
procedure(const AResult: System.UITypes.TModalResult)
begin
case AResult of
mrYES:
begin
//caso sim
end;
mrNo:
// caso não
end;
end);


Opa, boa tarde.

Eu não faria dessa forma, alterando a src do Delphi. Crie um form/classe para uma msg e chame-a como procedure anônima conforme passou ali em cima. Acredito ser a melhor forma.

Ex.: Criei um form msg. Quando preciso de alguma confirmação eu faço assim:

Código:
frmMensagem.ShowModal(procedure(ModalResult: TModalResult)
                        begin
                         if ModalResult = mrOk then
                         begin
                           showmessage('Operação realizada');
                         end
                         else
                           showmessage('Operação não realizada');
                        end);


Cabe lembrar que no form criado para isso, necessita que o Botão seja alterado a propriedade ModalResult para o tipo que precisa.

Valeu!
_________________
Fernando Farah
PROGRAMADOR PROGRESS
PROGRAMADOR DELPHI + FIREBIRD
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
eduardoserrao
Novato
Novato


Registrado: Segunda-Feira, 28 de Novembro de 2016
Mensagens: 78

MensagemEnviada: Seg Abr 24, 2017 11:21 am    Assunto: Re: MessageDlg Android Seattle Responder com Citação

marcelo_tux escreveu:
Tem como traduzir sim , vamos la :

1 - Abra o arquivo FMX.Consts.pas que esta localizado no caminho :
C:\Program Files (x86)\Embarcadero\Studio\17.0\source\fmx

2- Dentro desse arquivo localize : { Dialog Strings } , ai vc traduz o que quer e salva o arquivo, apos isso gere o DCU dele e copie esse DCU para as pastas :
C:\Program Files (x86)\Embarcadero\Studio\17.0\lib\android\debug
e
C:\Program Files (x86)\Embarcadero\Studio\17.0\lib\android\release

Pronto , agora so compilar seu projeto.

Espere que ajude.


Revivendo o tópico aqui...
Acho que o problema que tive anteriormente deve ter sido porque apos adicionar a FMX.Controls no meu projeto e gerar o DCU eu removi e exclui do meu projeto!
Testei novamente apenas removendo do projeto, mas deixando o arquivo no diretório do projeto e funcionou, se eu excluir do diretorio do projeto o problema volta a acontecer! não teria uma maneira de fazer esta tradução sem a necessidade do FMX.Controls dentro do projeto?
Além disso, quando fui rodar no Android a acentuação não ficou correta, você teria alguma dica de como corrigir esse problema para o Android?


Editado pela última vez por eduardoserrao em Seg Abr 24, 2017 4:03 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
eduardoserrao
Novato
Novato


Registrado: Segunda-Feira, 28 de Novembro de 2016
Mensagens: 78

MensagemEnviada: Seg Abr 24, 2017 12:04 pm    Assunto: Responder com Citação

Só respondendo minha própria pergunta, para caso alguém passe para o mesmo problema, eu consegui resolver com:

SMsgDlgNo = 'N'+#227+'o';

Smile
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