Перейти к содержанию
Fire Monkey от А до Я
  • 0

There is no overloaded version of 'MessageDialog' that can be called with these arguments


Ллирик

Вопрос

Опубликовано

Пытаюсь создать модальное окно вот так:

procedure ShowMessageModal(const AMessage: string);
var
  ACloseDialogEvent: TInputCloseDialogEvent;
  DialogSvc: IFMXDialogService;
begin
  DialogSvc.MessageDialog(Translate(AMessage), TMsgDlgType.mtCustom,
    [TMsgDlgBtn.mbOK], TMsgDlgBtn.mbOK, -1, -1, nil, nil,
    procedure(const AResult: TModalresult)
    begin
      if Assigned(ACloseDialogEvent) then
        ACloseDialogEvent(DialogSvc.MessageDialog, AResult);
    end);
end;

но выдаёт

Цитата

[dcc32 Error] MessageModal.pas(27): E2250 There is no overloaded version of 'MessageDialog' that can be called with these arguments

Пожалуйста, подскажите как решить проблему

Рекомендуемые сообщения

  • 0
Опубликовано

Разобрался, но создать модальное окно на андроиде мне  в делфи rad studio 10 seattle так пока и не удалось. И я так и не понимаю почему в C++ builder диалоговые окна получаются модальными, а в делфи нет?

  • 0
Опубликовано

берем форму и вызываем ее модально. все почти так же как и раньше
 

f:=TForm2.Create(NIL);
f.showModal(procedure (Result:TModalResult) begin
if result = mrOk then begin 
end;
end);

не забыть на кнопки OK Cancel у TForm2 установить свойства ModalResult

  • 0
Опубликовано (изменено)

Так у меня нет второй формы. Я создаю сообщения по средствам ShowMessage. Их более 500

Изменено пользователем Ллирик
  • 0
Опубликовано

А если сделать так:

if MessageDlg(AMessage, TMsgDlgType.mtCustom, [TMsgDlgBtn.mbOK], 0) = mrOK then

, то  на андроиде получаю "blocking dialogs not implemented on this platform", но в билдере диалоговые окна модальны и работают нормально. Почему?

  • 0
Опубликовано

я перестаю понимать, что вам нужно

в мобильных ОС нет и не может быть настоящих модальных диалогов

но showMessage же вас устраивает?

покажите, что за диалог вам нужен

  • 0
Опубликовано

В C++ builder при вызове showMessage  выполнение кода останавливается, а в делфи нет, но в C++ builder есть другой глюк, поэтому написал всё на делфи. Теперь только осталось решить проблему остановки выполнение кода при вызове showMessage 

  • 0
Опубликовано
1 час назад, krapotkin сказал:

в андроиде ничего не останавливается

Как? А вызов showMessage  в билдере тогда что делает?

  • 0
Опубликовано

Я имею ввиду, что в билдере у showMessage  реализация другая. Вот я и хочу понять в чём отличие реализаций этой функции

  • 0
Опубликовано
В 03.02.2017 в 20:08, krapotkin сказал:

берем форму и вызываем ее модально. все почти так же как и раньше
 


f:=TForm2.Create(NIL);
f.showModal(procedure (Result:TModalResult) begin
if result = mrOk then begin 
end;
end);

не забыть на кнопки OK Cancel у TForm2 установить свойства ModalResult

Выполнение кода всё равно не останавливается

Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...