Ллирик Опубликовано 2 февраля, 2017 Поделиться Опубликовано 2 февраля, 2017 Пытаюсь создать модальное окно вот так: 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 Модераторы Равиль Зарипов (ZuBy) Опубликовано 3 февраля, 2017 Модераторы Поделиться Опубликовано 3 февраля, 2017 вот почитайте как правильно вызывать http://docwiki.embarcadero.com/Libraries/Berlin/en/FMX.DialogService.TDialogService.MessageDialog Kitty 1 Ссылка на комментарий
0 Ллирик Опубликовано 3 февраля, 2017 Автор Поделиться Опубликовано 3 февраля, 2017 Разобрался, но создать модальное окно на андроиде мне в делфи rad studio 10 seattle так пока и не удалось. И я так и не понимаю почему в C++ builder диалоговые окна получаются модальными, а в делфи нет? Ссылка на комментарий
0 krapotkin Опубликовано 3 февраля, 2017 Поделиться Опубликовано 3 февраля, 2017 берем форму и вызываем ее модально. все почти так же как и раньше f:=TForm2.Create(NIL); f.showModal(procedure (Result:TModalResult) begin if result = mrOk then begin end; end); не забыть на кнопки OK Cancel у TForm2 установить свойства ModalResult Ссылка на комментарий
0 Ллирик Опубликовано 3 февраля, 2017 Автор Поделиться Опубликовано 3 февраля, 2017 (изменено) Так у меня нет второй формы. Я создаю сообщения по средствам ShowMessage. Их более 500 Изменено 3 февраля, 2017 пользователем Ллирик Ссылка на комментарий
0 Ллирик Опубликовано 4 февраля, 2017 Автор Поделиться Опубликовано 4 февраля, 2017 А если сделать так: if MessageDlg(AMessage, TMsgDlgType.mtCustom, [TMsgDlgBtn.mbOK], 0) = mrOK then , то на андроиде получаю "blocking dialogs not implemented on this platform", но в билдере диалоговые окна модальны и работают нормально. Почему? Ссылка на комментарий
0 krapotkin Опубликовано 4 февраля, 2017 Поделиться Опубликовано 4 февраля, 2017 я перестаю понимать, что вам нужно в мобильных ОС нет и не может быть настоящих модальных диалогов но showMessage же вас устраивает? покажите, что за диалог вам нужен Ссылка на комментарий
0 Ллирик Опубликовано 4 февраля, 2017 Автор Поделиться Опубликовано 4 февраля, 2017 В C++ builder при вызове showMessage выполнение кода останавливается, а в делфи нет, но в C++ builder есть другой глюк, поэтому написал всё на делфи. Теперь только осталось решить проблему остановки выполнение кода при вызове showMessage Ссылка на комментарий
0 krapotkin Опубликовано 4 февраля, 2017 Поделиться Опубликовано 4 февраля, 2017 в андроиде ничего не останавливается просто надо писать по-другому, зная что диалоги не останавливают поток исполнения Ссылка на комментарий
0 Ллирик Опубликовано 4 февраля, 2017 Автор Поделиться Опубликовано 4 февраля, 2017 1 час назад, krapotkin сказал: в андроиде ничего не останавливается Как? А вызов showMessage в билдере тогда что делает? Ссылка на комментарий
0 krapotkin Опубликовано 5 февраля, 2017 Поделиться Опубликовано 5 февраля, 2017 ну, ясно же что от языка программирования операционная система на зависит Kitty и Равиль Зарипов (ZuBy) 2 Ссылка на комментарий
0 Ллирик Опубликовано 5 февраля, 2017 Автор Поделиться Опубликовано 5 февраля, 2017 Я имею ввиду, что в билдере у showMessage реализация другая. Вот я и хочу понять в чём отличие реализаций этой функции Ссылка на комментарий
0 Ллирик Опубликовано 7 февраля, 2017 Автор Поделиться Опубликовано 7 февраля, 2017 В 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 Выполнение кода всё равно не останавливается Ссылка на комментарий
Вопрос
Ллирик
Пытаюсь создать модальное окно вот так:
но выдаёт
Пожалуйста, подскажите как решить проблему
Ссылка на комментарий
12 ответов на этот вопрос
Рекомендуемые сообщения