VladimirS Опубликовано 25 мая, 2015 Поделиться Опубликовано 25 мая, 2015 (изменено) На второй форме лежит кнопка, по нажатию на которую (обработчик) устанавливается ModalResult procedure TForm1.Button1Click(Sender: TObject); begin Form2.Show; while Form2.ModalResult = mrNone do Application.ProcessMessages; Form2.Hide; end; Почему после показа формы и ухода в цикл обработки сообщений (цикл крутится, проверял), в код обработчика кнопки не заходит? ЗЫ. запускаю под Андроидом, XE7 Изменено 25 мая, 2015 пользователем VladimirS Цитата Ссылка на комментарий
0 VladimirS Опубликовано 26 мая, 2015 Автор Поделиться Опубликовано 26 мая, 2015 Ура, пара часов отладки помогли найти ответ на вопрос! После нажатия на кнопку начинается цикл обработки событий ввода, который должен закончиться event := nil; while AInputQueue_getEvent(app^.inputQueue, @event) >= 0 do begin if Assigned(app^.onInputEvent) then handled := app^.onInputEvent(app, event); >>> Собственно здесь вызывается обработчик нажатия кнопки AInputQueue_finishEvent(app^.inputQueue, event, handled); end; Но т.к. возврата из обработчика кнопки нет, то новые события ввода не поступают. ЗЫ. ничего, что я публикую малюсенькие фрагменты исходников Дельфи? Цитата Ссылка на комментарий
0 haword Опубликовано 27 мая, 2015 Поделиться Опубликовано 27 мая, 2015 цель этого? если надо по закрытию формы выполнить код то задавайте процедуру при вызове ShowModal и она выполнится. зачем такой изврат то. Цитата Ссылка на комментарий
0 VladimirS Опубликовано 27 мая, 2015 Автор Поделиться Опубликовано 27 мая, 2015 (изменено) а представьте, что надо модальную форму показать в цикле? И использовать данные с этой формы в том же цикле. Изменено 27 мая, 2015 пользователем VladimirS Цитата Ссылка на комментарий
0 haword Опубликовано 27 мая, 2015 Поделиться Опубликовано 27 мая, 2015 не могу представить но попробую. я бы сделал так. форме присвоил бы поле ИД с кодом прохода. в процедуре объявленной как колбэк проверял бы это поле, увеличивал значение и вызывал ее повторно с новыми заполненными данными относительного этого ИД. и после нужного ИД был бы выход. я думаю сработало бы. Цитата Ссылка на комментарий
0 VladimirS Опубликовано 27 мая, 2015 Автор Поделиться Опубликовано 27 мая, 2015 какой-нибудь псевдокод можете написать для следующей ситуации? пользователь регистрирует товар. Если в настройках товара (скажем, джинсы) указано, что у него могут быть дополнительные характеристики (размер, цвет) Соответственно, если это товар с доп. характеристиками, то надо пользователя запросить указать каждую характеристику. потом еще сделать несколько манипуляций (это может быть дополнительно запрос цены, количества - в зависимости от настроек программы), потом добавить товар с данными в документ продажи. Цитата Ссылка на комментарий
0 haword Опубликовано 27 мая, 2015 Поделиться Опубликовано 27 мая, 2015 это все делается на одной форме. самый простой вариант это накидать все варианты на форму и не используемые скрыть. а при выборе типа одежды показать поля в которым можно выбрать цвет и размер. при более сложном варианте оэто создать панель не видимую и в зависимости от типа выбора накидывать туда компоненты. Цитата Ссылка на комментарий
Вопрос
VladimirS
На второй форме лежит кнопка, по нажатию на которую (обработчик) устанавливается ModalResult
Почему после показа формы и ухода в цикл обработки сообщений (цикл крутится, проверял), в код обработчика кнопки не заходит?
ЗЫ. запускаю под Андроидом, XE7
Изменено пользователем VladimirSСсылка на комментарий
6 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.