![]() |
|
#1
|
|||
|
|||
![]() Есть формы, на каждой кнопка со св-ом ModalResult= mrYes
Образовалась странная, наверняка детская, проблема при вызове одной из форм. Код:
Если поставить брейк на if SomeFRM.ShowModal = mrYes then, то в одном случае, он срабатывает (как и задумано) после клика по кнопке и попадает в блок с условием, а в ином случае сразу при вызове формы, и, соответственно, результат не ждет. Где что забыл? OnClose etc ни где не обрабатывается. Последний раз редактировалось nixon232, 12.03.2018 в 16:52. |
#2
|
||||
|
||||
![]() По идее Вы не должны получить ModalResult, так как форма показанная с помощью ShowModal будет ждать своего закрытия и соответственно дальнейший код вызвавшей ее процедуры продолжен не будет. Где-то, что-то, вероятнее всего, у Вас не так написано.
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. |
#3
|
||||
|
||||
![]() В том, то и вопрос, что не так. Такое ощущение, что форма создается повторно, хотя ранее создана уже
Код:
Причем, если прописать переменную, то проблема уходит. Но в этом же проекте работает код и без переменной. По этому, хочется понять причину Код:
Последний раз редактировалось nixon232, 13.03.2018 в 12:35. |
#4
|
||||
|
||||
![]() Цитата:
Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |
#5
|
|||
|
|||
![]() Попробую, но что-то мне подсказывает, что в новом проекте будет все хорошо.
|
#6
|
||||
|
||||
![]() Цитата:
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#7
|
|||||
|
|||||
![]() Цитата:
К тому же я писал, что в проблемном случае Бряк срабатывает как бы при открытии модальной формы. То есть мы по сути не ждем модалку как если бы прописали SomeFRM.Show, a не ShowModal. Так что там никакой Close не перекрывается. На форме 2 события и 3 кнопки. Ничего не обычного OnCreate, Кнопка Save с MrYes, и таким кодом Код:
Вот собственно все, что есть на модальной форме. В OnCreate Главной формы Код:
Последний раз редактировалось nixon232, 13.03.2018 в 21:25. |
#8
|
|||||
|
|||||
![]() Цитата:
Код:
Код:
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#9
|
||||
|
||||
![]() Ну я ее (модалку) так и создаю, но по своим причинам не освобождаю. В этом же и вопрос чего в одном куске кода оно работает хорошо, а в другом не ждет модальный ответ
Код:
Код:
|
#10
|
||||
|
||||
![]() Суть вопроса ясна. Но Вы так и не привели минимальный пример для воспроизведения косяка. Догадки строить - неблагодарное дело. Вам тут (и на любом другом портале) насочинять могут тысячи причин. Упростите и себе и нам процедуру поиска ответа на ваш вопрос - предоставьте код на тесты.
Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |
#11
|
|||
|
|||
![]() Цитата:
Запускать проект групп. |
#12
|
||||
|
||||
![]() Если не воспроизводится ошибка в тестовом проекте, то зачем тогда выкладывать его? А вообще, зачем Вам создавать/уничтожать в "другом" месте модальную форму? Может сделать как-нибудь так:
Код:
Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |
#13
|
||||
|
||||
![]() Цитата:
Наверное, незачем, но время на его создание не вернуть. Цитата:
Код:
в таком случае, пожалуй, что целесообразнее подгружать из ini по надобности?, чем хранить в форме? |
#14
|
|||||
|
|||||
![]() Цитата:
Код:
А в другом модуле просто обращаетесь к переменным: Код:
Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |
Этот пользователь сказал Спасибо dr. F.I.N. за это полезное сообщение: | ||
nixon232 (15.03.2018)
|