|
Склеить два приложения
|
|||
---|---|---|---|
#18+
РВ10.5 Есть две программки имеющие до 80% одинаковых объектов + используют данные из почти одинаковых БД. При старте каждая тестирует права доступа и открывает своё MDI окно. Вопрос: как "склеить" эти две программки, чтобы можно было запускать одну из другой? Цель минимизировать суммарные размеры (дубль библиотек и т.п.), не тестировать повторно права доступа и не создавать ещё одно подключение к БД, и т.д., и т.п. (наподобие как в "кореле" переход от одного редактора к другому и обратно через меню). P.S. Сейчас реализовано через WINAPI (запустить и подождать когда откроется новой ПО, потом закрыть старое). Каждое ПО имеет свой каталог с полным набором библиотек и своей БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2013, 23:06 |
|
Склеить два приложения
|
|||
---|---|---|---|
#18+
AIS, Если просто нужно запустить один из вариантов, то я, например, помещаю в ini-файл объединенного приложения некий признак, по которому вызывается то или иное MDI. Или обязательно нужно "чтобы можно было запускать одну из другой"? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2013, 11:11 |
|
Склеить два приложения
|
|||
---|---|---|---|
#18+
mgl_wwwAIS, Если просто нужно запустить один из вариантов, то я, например, помещаю в ini-файл объединенного приложения некий признак, по которому вызывается то или иное MDI. Или обязательно нужно "чтобы можно было запускать одну из другой"? Не совсем понял с ini-файлом. Надо: - дать пользователю доп.сервис: из одного приложения открывать (либо переходить в) другое, и тоже в обратном направлении. При этом не обязательно 1-ое ПО должно закрываться при открытии 2-го. - цель экономии времени на тест доступа, подключения к БД, + экономия места на диске. Конечно можно тупо "склеить", т.е. сделать одно большое ПО (один ЕХЕ). А хотелось бы, чтобы эта конструкция была модульной (два ЕХЕ). Есть одно из 2-х ПО у пользователя, и он может к нему подключить 2-ое ПО как модуль, и запускать каждое самостоятельно, либо один из другого. Похоже, что надо делать например как у Sybase: общая папка, в которой у каждого ПО своя папка + каталог общих файлов типа Shared. Тогда можно подключать (т.е. дополнять общую папку папкой нового ПО) любое количество модулей. Остался один воспос: как при открытии 2-го ПО не проводить повторный тест на доступ? Ну, чтобы более менее надежно. :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2013, 12:48 |
|
Склеить два приложения
|
|||
---|---|---|---|
#18+
AISНе совсем понял с ini-файлом. Вот пример такого файла Goods.ini из моей живой системы для аптечной сети: [sqlca] dbms=ODBC database=Goods7_16 userid= dbpass= logid= logpass= servername=Goods7_16 DbParm=ConnectString='DSN=Goods7_16;UID=;PWD=' firsttime=no [shops] shopnumb=16 [workstation] workstation=1 [defecture] defecture_period=7 [application] showtext=no [w_med_win] toolbarvisible=yes toolbaralignment=top toolbarx=0 toolbary=0 toolbarwidth=0 toolbarheight=0 [sqlca_1] firsttime=no [f_printer] program=c:\APrinter\a.exe [checks] check_path = c:\APrinter\ [check_flag] check_flag_file = c:\APrinter\active.fl Этот файл лежит рядом с ехе-шником, из него считываются все параметры для подключения к БД, к кассовому аппарату и для управления конфигурацией интерфейса. Так например, фрагмент [shops] shopnumb=16 отвечает за конфигурацию MDI данной конкретной аптеки (№16). AISНадо: - дать пользователю доп.сервис: из одного приложения открывать (либо переходить в) другое, и тоже в обратном направлении. При этом не обязательно 1-ое ПО должно закрываться при открытии 2-го... -как при открытии 2-го ПО не проводить повторный тест на доступ? А почему в рамках одного ехе-шника просто не сделать некое мета-меню над всеми MDI, из которого пользователь будет выбирать нужную ветку, однократно зайдя в систему и авторизовавшись? AISКонечно можно тупо "склеить", т.е. сделать одно большое ПО (один ЕХЕ). А почему "тупо". Это как раз и правильно, если вы говорите, что у этих программ много "одинаковых объектов + используют данные из почти одинаковых БД". Размер общего ехе-файла будет меньше, чем сумма размеров отдельных ехе-файлов. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2013, 15:32 |
|
Склеить два приложения
|
|||
---|---|---|---|
#18+
AISтестирует права доступа - читает метаинформацию для последующей работы без дополнительного обращения к БД при формировании интерфейса? Или под этим словосочетанием понимается что-то другое? AIS почти одинаковых БД.Выделенное обычно означает разные БД. Соответственно, не понимаю, как можноAISне создавать ещё одно подключение к БД AISЦель минимизировать суммарные размеры (дубль библиотек и т.п.)Стоимость современных жестких дисков не слишком высока, так что... Впрочем, что не устраивает в таком, например, подходе? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
AIS, Вы что-то недоговариваете. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2013, 20:18 |
|
|
start [/forum/topic.php?fid=15&msg=38237309&tid=1335430]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
146ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 258ms |
0 / 0 |