![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 10.02.2021
Сообщений: 684
|
![]()
Ну какие я нашел сам отличия
При ShowModal ставится на паузу теперешняя процедура и можно совершить действия после закрытия окна, при ShowModal нельзя делать действия с прошлой формой, с ShowModal можно вернуть какой-то результат. Какие-то еще отличия есть? Вообще у меня 2, 3, 4 и 5 формы используются потому что ну очень много элементов управления в программе, все просто не втулить на 1 форму никак. Некоторые небольшие кусочки делаются при помощи создаваемых из программы панелей и кнопок, но не всегда это возможно И обычно делается все так: Код:
Код:
|
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
![]()
Из ShowModal активная форма возвращает результат ModalResult
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 10.02.2021
Сообщений: 684
|
![]()
Просто для выше описанной цели лучше Show, или ShowModal?
|
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
![]()
Show. При каждом использовании ShowModal для переключения между окнами вы просто в конце концов переполните стек программы. Пускай эта ошибка при кратковременном тестировании и не вылезет, но потенциальная проблема будет.
Последний раз редактировалось macomics; 11.09.2022 в 19:59. |
![]() |
![]() |
![]() |
#5 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,926
|
![]()
ShowModal следует использовать когда дальнейшая работа пользователя с программой не возможна до тех пор, пока пользователь не ответит на некий вопрос или не представит некие данные для продолжения работы. Во всех прочих случаях использование этого метода ничем не оправдано.
|
![]() |
![]() |
![]() |
#6 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,810
|
![]()
У ТС более хитрая система (собственно, у него в каждой теме обсуждаются лишь костыли, которые он пихает везде где только можно). У него же после открытия новой формы, текущая форма скрывается. То есть пользователь на нее вернуться не может.
В такой постановке вопроса лучше использовать Show. E-Mail: arigato.freelance@gmail.com
|
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
![]()
Давайте лучше обсудим вот что. Лучше использовать
Код:
Код:
![]() |
![]() |
![]() |
![]() |
#8 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,810
|
![]()
Ну это надо смотреть на код в ассемблере, сколько там операций выполняется, и какие регистры задействованы. Есть подозрения, что первый вариант лучше, так как в случае Hide будет вызов подпрограммы, где уже выполняется присвоение Visible := False, то есть лишнее действие, на слабых компах будет очень серьезно тормозить, да и памяти на десяток байт больше израсходуется, может не хватить места в оперативке или на диске.
Но это неточно. Без ассемблера тут не разобраться ![]() E-Mail: arigato.freelance@gmail.com
|
![]() |
![]() |
![]() |
#9 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
![]()
А вот у меня в Lazarus - Hide помечен как inline
Hide еще и печатать - быстрее. ![]() Последний раз редактировалось macomics; 12.09.2022 в 12:37. |
![]() |
![]() |
![]() |
#10 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,810
|
![]()
Hide;
Код:
Код:
Можно вот такую альтернативу предложить: Код:
E-Mail: arigato.freelance@gmail.com
Последний раз редактировалось Arigato; 12.09.2022 в 12:51. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Showmodal | Mr_skiner | Общие вопросы Delphi | 4 | 05.04.2011 17:40 |
Формы ShowModal | SoftKoc | Общие вопросы Delphi | 6 | 18.09.2010 16:37 |
ShowModal, close!!!! | Ital1cs | Помощь студентам | 3 | 02.04.2010 19:50 |
вызов из dll не ShowModal. | Roof | Общие вопросы Delphi | 7 | 25.07.2008 15:22 |
AlphaBlend + ShowModal | Cardagant | Общие вопросы Delphi | 2 | 11.06.2008 15:42 |