:: Visual Foxpro, Foxpro for DOS
Переход с модальных форм на не модальные.
AleksGor
Автор

Сообщений: 26
Дата регистрации: 27.03.2009
Всем здравствуйте! Вопрос в следующем: есть некое ПО разработано на VFP c DBF хранилищем. Но все формы (журналы, формы ввода, справочники) выполнены как модальные. Задача перейти (переделать) на НЕ модальные. Посоветуйте с чего начать, какое направление выбрать. Дело в том , что в журналах например результат выборки один и тот же алиас.


------------------
Ratings: 0 negative/0 positive
Re: Переход с модальных форм на не модальные.
Penner

Сообщений: 4102
Откуда: Muenster
Дата регистрации: 26.04.2002
Создать новый проект и писать с нуля


------------------
Никогда не откладывайте на завтра, то, о чем можно забыть навсегда
Ratings: 0 negative/0 positive
Re: Переход с модальных форм на не модальные.
ssa

Сообщений: 13008
Откуда: Москва
Дата регистрации: 23.03.2005
AleksGor
в журналах например результат выборки один и тот же алиас.
Подумать в сторону включения в формах приватных сессий данных.

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Переход с модальных форм на не модальные.
AleksGor
Автор

Сообщений: 26
Дата регистрации: 27.03.2009
thumbs down
Ratings: 0 negative/0 positive
Re: Переход с модальных форм на не модальные.
AleksGor
Автор

Сообщений: 26
Дата регистрации: 27.03.2009
Penner
Создать новый проект и писать с нуля
Проект довольно большой, и рабочий в принципе всех по работоспособности устраивает.
Ratings: 0 negative/0 positive
Re: Переход с модальных форм на не модальные.
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
AleksGor
Проект довольно большой, и рабочий в принципе всех по работоспособности устраивает.
Если не хочется переделывать все, значит придется переделывать часть)
Если все устраивает, то причины переделки каковы?
1. Интересно
2. Плохо сопровождать (значит все же бывает нужны изменения)
3. Дописать функционал
4. Изменить функционал

По каждому пункту, все равно 1 ответ.
Надо начинать новый проект.
А потом новый "скрещивать" с имеющимся"


------------------
Ratings: 0 negative/0 positive
Re: Переход с модальных форм на не модальные.
AleksGor
Автор

Сообщений: 26
Дата регистрации: 27.03.2009
хороший анекдот вспомнил:
Дама с кошелочкой
В общем дело было так:
Суд.
-Подсудимый, за что Вы убили женщину?
-Еду я в автобусе, подходит кондуктор к женщине, с требованием купить билет. Женщина открыла сумочку, достала кошелочку, закрыла сумочку, открыла кошелочку, достала кошелек, закрыла кошелочку, открыла сумочку, положила туда кошелочку, закрыла сумочку, открыла кошелек, достала деньги, открыла сумочку, достала кошелочку, закрыла сумочку, открыла кошелочку, положила туда кошелек, закрыла кошелочку, открыла сумочку, положила туда кошелочку.
- И что?
- Контролер ей дал билет. Женщина открыла сумочку, достала кошелочку, закрыла сумочку, открыла кошелочку, достала кошелек, закрыла кошелочку, открыла сумочку, положила туда кошелочку, закрыла сумочку, открыла кошелек положила туда билет, закрыла кошелек, открыла сумочку, достала кошелочку, закрыла сумочку, открыла кошелочку, положила туда кошелек, закрыла кошелочку, открыла сумочку, положила туда кошелочку, закрыла сумочку. «Возьмите сдачу», раздался голос контролера. Женщина… открыла сумочку…
- Да убить ее за это мало, - не выдерживает прокурор.
- Так я это и сделал .
Ratings: 0 negative/0 positive
Re: Переход с модальных форм на не модальные.
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
AleksGor
хороший анекдот вспомнил:

Синий. 13.496


------------------
Ratings: 0 negative/0 positive
Re: Переход с модальных форм на не модальные.
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Сделай одну форму немодальной, сделай алиас не фиксированным именем, а в переменную положи SYS(2015). Или в приватную сессию помести форму. И увидишЬ чего это стоит, и стОит ли. А может все просто окажется... Пробовать надо, выбирая волюнтаристски способ, а там будет видно.
Ratings: 0 negative/0 positive
Re: Переход с модальных форм на не модальные.
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
AleksGor
Задача перейти (переделать) на НЕ модальные. Посоветуйте с чего начать, какое направление выбрать. Дело в том , что в журналах например результат выборки один и тот же алиас.
Перво наперво посмотреть на календарь, и если цифра 2017 в сравнении с цифрой 2007 (когда вышел последний сервиспак к фоксу) не смущает, то продолжать читать далее

Для "немодального" интерфейса важны всего 2 основных момента:
1) разделение данных в формах - следует использовать приватные датасессии, и всё что нужно для взаимодействия форм передавать между ними ЯВНО - параметрами при вызове, или обращением к методам соответствующей форме по переданной ранее ссылке на неё. Никаких "текущая строка в таблице в форме списка редактируется в форме карточки", никаких "все таблицы открываются при запуске приложения, формы с ними потом работают". Заодно никаких private переменных для передачи чего-либо между формами (и, боже упаси, для возврата чего-либо из вызванной формы).

2) возврат значений из "дочерних" форм. Для модального интерфейса "естественным" является шаблон кода
DO FORM ... WITH ... TO ...
* далее работаем с теми данными которые так или иначе "вернула" форма
* напрямую в TO ..., или через переданный в неё через WITH объект-параметр
Для НЕмодального взаимодействия в общем случае невозможно "упорядочить" код. Т.е. заранее сказать когда и как завершится работа "дочерней" формы, и она сможет что-то вернуть в родительскую. Более того, вполне возможна ситуация когда родительскую форму попытаются закрыть ДО того как завершили работать с дочерней. И что делать в этом случае - уже вопрос требующий тщательного обдумывания. В одних случаях формы сравнительно "независимы", и вполне можно оставить жить дочернюю (например список объектов и форма редактирования одного из этих объектов - вполне можно закрыть "список" и не трогать "карточки"). В других случаях оставлять дочернюю форму бессмысленно (например это форма для "выбора элемента" - выбор с возвратом в никуда не имеет смысла) - и тут по сути закрытие родителя должно вызывать закрытие и дочерней. Кроме того такой случай иногда стоит реализовывать через псевдо-модальность. Например блокировать родительскую форму (или её часть), чтобы там ничего нельзя было сделать до закрытия дочерней. Или же делать дочернюю форму наподобие меню/комбобокса, т.е. при любом клике "мимо" она автоматом закрывается возвращая в родительскую статус что "ничего и не выбрали".
В любом случае для организации такого "возврата значения" придётся в родительской форме, или её подобъекте создавать отдельный метод, а в дочернюю форму передавать ссылку на родителя, чтобы она могла "дёрнуть" этот метод когда потребуется, или же использовать механизм позднего связывания BINDEVENT - опять таки, чтобы указать какой метод родителя должен сработать в случае "завершения ввода" в дочерней форме.

Но я ещё раз обращаю внимание на пункт номер ноль Кардинально что-то переписывать, или начинать новый проект на фоксе сегодня - не самое разумное решение.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Переход с модальных форм на не модальные.
AleksGor
Автор

Сообщений: 26
Дата регистрации: 27.03.2009
Igor Korolyov
Кардинально что-то переписывать, или начинать новый проект на фоксе сегодня - не самое разумное решение.

Стесняюсь спросить, а например на чем ?
Ratings: 0 negative/0 positive
Re: Переход с модальных форм на не модальные.
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Да на чём угодно, нынче разнообразных живых систем вагон и тележка. Для десктопа (хотя уже сам по себе десктоп не очень в тренде - больше в облака, сервисы, веб движение) - C# к примеру. Даже 1с для учётных задач и то перспективнее...


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Переход с модальных форм на не модальные.
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Добавлю к этому списку Pithon
Очень везде... пролазит)))


------------------
Ratings: 0 negative/0 positive
Re: Переход с модальных форм на не модальные.
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
("Фантазеры" )

> Дело в том, что в журналах например результат выборки один и тот же алиас.
Взять, и реплейсом по форме (хоть по всему проекту) и переименовать неуникальный алиас в уникальный, и проблема оттянется еще лет на ...цать
Ratings: 0 negative/0 positive
Re: Переход с модальных форм на не модальные.
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
of63
проблема оттянется еще лет на ...цать

А там уже SKY-NET начнет рулить. [sm128]
Ratings: 0 negative/0 positive
Re: Переход с модальных форм на не модальные.
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Simple777
of63
проблема оттянется еще лет на ...цать

А там уже SKY-NET начнет рулить. [sm128]

Не сможет. Он на винде же будет работать. Да к тому же еще и написанный в самых новейших к тому времени средах, которые станут еще средастее, чем нынешние. \m/
Потому как замыслить-то он замыслит. Но как начнет выполнять - все сразу и зависнет. Выйдет непоправимая ошибка виндоуз, нехватка оперативной памяти в 128 Фемто-Байт, устаревший драйвер видеокарты, после чего сначала синий экран. Потом черный. Так усилиями работников мелкософта человечество будет спасено. Хоть какая-то польза. [sm128]


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 28 (Гостей: 28)

© 2000-2024 Fox Club 
Яндекс.Метрика