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


Registrado: Segunda-Feira, 28 de Novembro de 2016 Mensagens: 78
|
Enviada: Qui Jan 05, 2017 10:57 am Assunto: [RESOLVIDO] MessageDlg Android Seattle |
|
|
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 |
|
 |
marcelo_tux Aprendiz

Registrado: Terça-Feira, 2 de Abril de 2013 Mensagens: 230 Localização: São José do Rio Preto - SP
|
Enviada: Sex Jan 06, 2017 9:50 am Assunto: Re: MessageDlg Android Seattle |
|
|
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 |
|
 |
eduardoserrao Novato


Registrado: Segunda-Feira, 28 de Novembro de 2016 Mensagens: 78
|
Enviada: Sex Jan 06, 2017 10:18 am Assunto: Re: MessageDlg Android Seattle |
|
|
Oi marcelo_tux, obrigado por responder meu tópico, testei do jeito que você sugeriu e funcionou 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  |
|
| Voltar ao Topo |
|
 |
marcelo_tux Aprendiz

Registrado: Terça-Feira, 2 de Abril de 2013 Mensagens: 230 Localização: São José do Rio Preto - SP
|
Enviada: Sex Jan 06, 2017 1:03 pm Assunto: Re: MessageDlg Android Seattle |
|
|
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 |
|
 |
eduardoserrao Novato


Registrado: Segunda-Feira, 28 de Novembro de 2016 Mensagens: 78
|
Enviada: Sex Jan 06, 2017 2:44 pm Assunto: Re: MessageDlg Android Seattle |
|
|
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 |
|
 |
marcelo_tux Aprendiz

Registrado: Terça-Feira, 2 de Abril de 2013 Mensagens: 230 Localização: São José do Rio Preto - SP
|
Enviada: Sex Jan 06, 2017 3:10 pm Assunto: Re: MessageDlg Android Seattle |
|
|
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 |
|
 |
eduardoserrao Novato


Registrado: Segunda-Feira, 28 de Novembro de 2016 Mensagens: 78
|
Enviada: Sex Jan 06, 2017 3:17 pm Assunto: Re: MessageDlg Android Seattle |
|
|
| 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 |
|
 |
wolverinefarah Colaborador

Registrado: Sábado, 17 de Junho de 2006 Mensagens: 1770
|
Enviada: Sex Jan 27, 2017 1:25 pm Assunto: Re: MessageDlg Android Seattle |
|
|
| 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 |
|
 |
eduardoserrao Novato


Registrado: Segunda-Feira, 28 de Novembro de 2016 Mensagens: 78
|
Enviada: Seg Abr 24, 2017 11:21 am Assunto: Re: MessageDlg Android Seattle |
|
|
| 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 |
|
 |
eduardoserrao Novato


Registrado: Segunda-Feira, 28 de Novembro de 2016 Mensagens: 78
|
Enviada: Seg Abr 24, 2017 12:04 pm Assunto: |
|
|
Só respondendo minha própria pergunta, para caso alguém passe para o mesmo problema, eu consegui resolver com:
SMsgDlgNo = 'N'+#227+'o';
 |
|
| Voltar ao Topo |
|
 |
|