Вторая форма "по типу" модал, но не модал :о)

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Аватара пользователя
sunjob
постоялец
Сообщения: 176
Зарегистрирован: 12.01.2011 14:19:54

Сообщение sunjob »

подтверждаю, вариант со 2м "живым" модальным окном работает :P

Код: Выделить всё

Form1.Hide;
Form2.ShowModal;
Form1.Show;


WAYFARER писал(а): это не самый лучший способ.

расшифруйте, пожалуйста.
Аватара пользователя
WAYFARER
энтузиаст
Сообщения: 564
Зарегистрирован: 09.10.2009 00:00:04
Откуда: г. Курган

Сообщение WAYFARER »

sunjob писал(а):расшифруйте, пожалуйста.

Не удобно. Как минимум придется следить и подстраивать положение, состояние и размеры окон, и это будет осложнительно, если таких форм будет несколько. Так же все такие формы или должны изначально быть созданы, или нужно будет следить еще и за этим.

Вообще если на то пошло, то стоит почитать каких нибудь книжек про UI/UX.

И про Lazarus тоже стоит почитать.
http://freepascal.ru/article/books/20101025000000/ - например вот эту книгу (сам не читал, но отзывы хорошие слышал), как минимум как справочник можно использовать.
Нужны хотя бы базовые основы, что не возникало элементарных вопросов. Почитайте про формы, про модальность, тогда вышеприведенные ошибки не будут вызывать вопросов, да и вообще возникать).
Можно конечно и методом научного тыка действовать, но это долго и больно))
Аватара пользователя
sunjob
постоялец
Сообщения: 176
Зарегистрирован: 12.01.2011 14:19:54

Сообщение sunjob »

Как минимум придется следить и подстраивать положение, состояние и размеры окон, и это будет осложнительно, если таких форм будет несколько. Так же все такие формы или должны изначально быть созданы, или нужно будет следить еще и за этим.

если только это, то это совсем не проблема, приоритет в том, что-бы выполнять поставленную задачу :P

вышеприведенные ошибки

какие еще, кроме ошибки/исключения мод.формы?
Alex2013
долгожитель
Сообщения: 3211
Зарегистрирован: 03.04.2013 11:59:44

Сообщение Alex2013 »

sunjob писал(а): RemoveControl/InsertControl ...

показался рискованно-неоправданна-тяжело-неайсным (как пример, да, хорош)


Интересно то что это как-бы "внутренний аналог OLE".
Например у меня в программе есть встроенный видео проигрыватель работающий в отдельном окне .
Изображение
Но в тоже время есть режим "предпросмотра" если делать без RemoveControl/InsertControl то "по хорошему" нужно делать отдельный класс и модуль "для абстрактного проигрывателя" (что при изначальной привязке плеера к форме довольно сложно,потому что там "царствует" Directshow, оверлей и т.п., а так все просто: удалил панель плеера в одном окне и вставил в другом. Нужно вернуть как было? Нет проблем! (Причем все ссылки на форму плеера работают как не в чем не бывало и все что нужно это перезапустить просмотр )
Изображение
(кстати на этом скрине отлично видно как работает "двухпанельный режим" слева программа в режиме галереи справа в режиме афиши (настройки пока в отдельном окне но это временно ) )
Последний раз редактировалось Alex2013 26.01.2022 15:57:47, всего редактировалось 6 раз.
Аватара пользователя
sunjob
постоялец
Сообщения: 176
Зарегистрирован: 12.01.2011 14:19:54

Сообщение sunjob »

видимо, у меня старый бразузер, не кажет картинки :oops:
данный метод где-то "оправдан", где-то нет...
Alex2013
долгожитель
Сообщения: 3211
Зарегистрирован: 03.04.2013 11:59:44

Сообщение Alex2013 »

sunjob писал(а):видимо, у меня старый бразузер, не кажет картинки

Сори это я поленился перезалить нашару и дернул ссылки с 4pda :roll: (поправил )

Добавлено спустя 4 минуты 15 секунд:
sunjob писал(а):данный метод где-то "оправдан", где-то нет...

Согласен, вообщем виде это типа "хак" и без "бубна" в виде проверки режима работает не всегда (например класс может юзать обработчик с косвенной адресацией через Sender а переставляя контролы из формы в форму мы меняем всю цепочку вызовов )
Аватара пользователя
sunjob
постоялец
Сообщения: 176
Зарегистрирован: 12.01.2011 14:19:54

Сообщение sunjob »

Alex2013 писал(а):дернул ссылки с 4pda :roll: (поправил )

да все равно не кажет (у меня реально старый бразузер...че делать? бывает! (х.ф. брат2)
Alex2013
долгожитель
Сообщения: 3211
Зарегистрирован: 03.04.2013 11:59:44

Сообщение Alex2013 »

Ставить новый ! ( я на один очень старый линукс 11-го года на не менее старом ноутбуке фф накатал заметно более свежий чем ОС и теперь все работает ) Еще вариант поискать портабельный браузер для винды и запускать через вине.
+ Можно тупо ссылке зайти и скачать картинку
https://i2.piccy.info/i9/1592c8697faf43 ... _37_01.jpg
https://i2.piccy.info/i9/67cbd8a4f4d505 ... 07_800.jpg

Зы
А вообще я выкладывал бинарник ( из под вине он запускается проверено хотя и работает не все глянуть можно + в россии могут быть проблемы с доступом к серверу ) .
:arrow: LesXoZBin005_39_alfa_02.7z Размер: 5,5 МБ Win32 :idea:
Последний раз редактировалось Alex2013 26.01.2022 19:24:14, всего редактировалось 1 раз.
Аватара пользователя
sunjob
постоялец
Сообщения: 176
Зарегистрирован: 12.01.2011 14:19:54

Сообщение sunjob »

спасибо-спасибо, нас и тут замечательно кормят! бразер под потолок сидит :D
Alex2013
долгожитель
Сообщения: 3211
Зарегистрирован: 03.04.2013 11:59:44

Сообщение Alex2013 »

Ладно извиняюсь увлекся... (но по прямым ссылкам должен по идее зайти любой браузер ) или там с https проблемы ?
Аватара пользователя
sunjob
постоялец
Сообщения: 176
Зарегистрирован: 12.01.2011 14:19:54

Сообщение sunjob »

сейчас кажет, все нормально! :P

Добавлено спустя 6 часов 17 минут 50 секунд:
поганял "закладки", вполне так рабочий вариант. но есть одно но - все в одной куче...в простой задаче в этом месиве не камильфо ориентироваться (естественно, используя всю возможную "навигацию" в IDE), а уж в рабочем проекте это будет совсем болото... :oops:

поэтому, исходный вариант с 2мя формами в данном случае пока рулит! :mrgreen: ну, или во вс.случае, имеет место быть.
Ответить