Перейти к содержанию
  • Регистрация
  • 0
Авторизация  
S_007

Предупреждение MessageDlg

Вопрос

 Присутствие в коде вызова диалогового окна 

MessageDlg('Удалить?',  TMsgDlgType.mtConfirmation, mbYesNo, 0, procedure (const AResult: TModalResult)
 begin

if (AResult = mrYes) then
begin

//
end;
end);

при компиляции появляется такое предупреждение 

Symbol 'MessageDlg' is deprecated: 'Use FMX.DialogService methods'
 

Что нужно поправить чтоб это предупреждение не появлялось?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

  • 0

Вызов этого метода происходит немного другим способом. Ознакомиться можно тут: http://docwiki.embarcadero.com/CodeExamples/Tokyo/en/FMX.MessageAlerts_Sample

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Max Спасибо за быстрый ответ! На этой страничке я был, но нифига не понял, для меня пока сложновато что там написано и рабочего примера найти не смог

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Вот пример:

procedure ShowMessage(const TheMessage:String);
begin
  TDialogService.MessageDialog(TheMessage, TMsgDlgType.mtInformation, [TMsgDlgBtn.mbOk], TMsgDlgBtn.mbOk, 0, nil);
end;

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Max Спасибо огромное!!!! А что нужно в uses добавить чтоб не подчеркивал  TDialogService.MessageDialog?

Наберусь еще наглости попросить пример диалога [Да] [Нет]

Изменено пользователем S_007

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
Цитата

А что нужно в uses добавить чтоб не подчеркивал  TDialogService.MessageDialog?

FMX.Dialogs
Цитата

Наберусь еще наглости попросить пример диалога [Да] [Нет]

procedure ShowMsgYesNo;
begin
  { Show a multiple-button alert that triggers different code blocks according to
    your input }
  TDialogService.MessageDialog('Choose a button:', System.UITypes.TMsgDlgType.mtInformation,
    [System.UITypes.TMsgDlgBtn.mbYes, System.UITypes.TMsgDlgBtn.mbNo],
    System.UITypes.TMsgDlgBtn.mbYes, 0,

    // Use an anonymous method to make sure the acknowledgment appears as expected.
    procedure(const AResult: TModalResult)
    begin
      case AResult of
        { Detect which button was pushed and show a different message }
        mrYES:
          ShowMessage('You chose Yes');
        mrNo:
          ShowMessage('You chose No');
      end;
    end);
end;

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Max Спасибо Вам за примеры и за терпение к таким новичкам как я...!

 к сожалению пока у меня не получилось, ругается как и прежде, Delphi 10.2 по умолчанию в uses ставит FMX.Dialogs, а выходит такая ошибка

Undeclared identifier: 'TDialogService'

Изменено пользователем S_007

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Получилось так

Добавить в uses FMX.DialogService

TDialogService.MessageDialog('Уверены?', TMsgDlgType.mtConfirmation, mbYesNo, TMsgDlgBtn.mbNo, 0, procedure(const AResult: TModalResult)
begin
 	if (AResult = mrYes) then
    begin
    	//
    end;
end);

Max  еще раз Спасибо!
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Авторизация  

  • Последние посетители   0 пользователей онлайн

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

×
×
  • Создать...