2014-09-05 2 views
3

Во время загрузки моего приложения я загружаю настройки и другие вещи и хочу иметь возможность показывать сообщение пользователю. Однако это не работает на моем приложении Delphi XE6 FireMonkey, ориентированном на iOS (iOSSimulator).Не удается показать сообщение во время загрузки программы на iOS

Когда я вызываю ShowMessage или MessageDlg во время загрузки программы, он блокируется, и ничего не отображается. Вероятно, он входит в модальное состояние, но поскольку сообщение не отображается, его невозможно продолжить. Даже в основных формах FormActivate, вызывая ShowMessage, ничего не отображается.

Как я могу показать сообщение при загрузке приложения?

+0

Я ничего не знаю о Firemonkey, но похоже, что вам нужно загрузить настройки, а другие - в отдельный поток. – SomeGuy

+0

Я надеюсь, что смогу показать модальное сообщение, в котором пользователь мог бы ответить, например. Да/Нет, что повлияет на загрузку приложения, но, возможно, это нарушает работу iOS? – Hans

ответ

0

Я удивлен, что никто не написал об этом раньше и что ни один из пользователей Firemonkey не ответил на мой вопрос. Чтобы разрешить вызов Showmessage во время загрузки программы, но приложение блокируется, если вы это делаете, не является подходящим поведением. В настольном приложении вполне нормально показывать сообщение во время загрузки программы, если что-то не получается.
Я преобразовываю проект линии 500k из VCL в FMX, и поскольку я не могу показать сообщение на iOS, мне придется реструктурировать код создания и загрузки.

Решение, которое я планирую реализовать, - это сделать отказоустойчивые решения, которые позволят приложению загружаться независимо от того, что происходит, а затем, когда приложение запущено, я могу показать, какие сообщения возникли во время загрузки (те, которые пользователь имеет рассматривать).

Если у кого-то есть дополнительная информация или предложения для лучшего решения, прокомментируйте.

+0

Кажется вполне разумным, что некоторая функция не может быть вызвана в определенное время в течение жизни приложения. Почему это так необоснованно? –

+0

Возможно, потому, что я использовал VCL слишком много лет :-) (в VCL я мог бы позвонить Showmessage в любое время) – Hans

+1

Mobile - это другой мир, хотя FMX, несмотря на поверхностные сходства, является массовым изменением от VCL –

1

Вы можете использовать символ загрузки вместе с сообщением. Это будет служить вашей цели. Вы можете использовать «MBProgressHud», вам не нужно прикладывать никаких дополнительных усилий, просто передайте параметр и отобразите загружаемое изображение вместе с текстом. Наслаждайтесь!

+0

Разве это не контроль какао-контроля? –

+0

Благодарим вас за ответ. [MBProgressHUD] (https://github.com/matej/MBProgressHUD) является настраиваемым компонентом Xcode. Это выглядит великолепно, хотя для Delphi Firemonkey потребуется небольшая работа. – Hans

+0

Примите ответ, если он в порядке. – nadim

Смежные вопросы