Вот после некоторого продолжительного опыта написания прог на МиниГуи, хочу начать перетаскивать свою терминалку. И сразу несколько ГЛАВНЫХ вопросов, без которых никак не состоится "переезд"....
У меня в терминалке есть:
1) ОДНА (для всех прог) единая функция редактирования таблиц, которой скармливаю настройки из ини-файлов.
т.е. допустим в задаче 5 главных таблиц, которые обслуживаются ОДНИМ универсальным Tbrowse.
2) ОДНА единая функция редактирования справочников - настройки каждого тоже в ини-файле.
3) ОДНА единая функция показа/выбора справочника, тоже универсальная. По ходу обработки в основном Tbrowse в зависимости от редактируемого поля подсовываю данные из ини-файла, на ходу.
Теперь под GUI могу открывать все 5 главных таблиц задачи, все справочники и т.д.
НО DEFINE WINDOW имеет одно значение, и при запуске второго окна с тем же именем будет вылет задачи !
Можно использовать
cFormName := "Win_" + HB_NToS( _GetId() ), тогда к чему привязываться при сохранении/восстановлении параметров окна в ини-файле ?
Или можно пользоваться таким названием окна
cFormName := "Win_ABONENT" , где Materials имя секции относящие к БД-абонентов ?
С 5 таблицами допустим можно разобраться, а как быть со справочниками ? Их же несколько десятков.
Т.е. я использую единую функция показа/выбора справочника - см. 3)
Например справочник городов и справочник улиц пользователь настроил под себя (шрифты, расположение на экране, цвета и т.д.) в 1-ой таблице. Потом юзер бросает эту таблицу оставив окно справочника на экране и лезет во 2-ую таблицу (там тоже присутствую адресные справочники). И облом опять - вылет по одинаковому имени окна или нужно настраивать этот справочник для 2-ой таблице. Как быть ?
А как быть со шрифтами в программе ?
Определить шрифты вначале программы для главных таблиц, редактирования справочника и показа справочника.
Как это сделать наглядно и дать юзеру инструмент для замены шрифтов ?
Чем дальше в лес (в МиниГуи) тем больше дров (вопросов) ...
Поделитесь пожалуйста опытом решения этих проблем.