powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Склеить два приложения
5 сообщений из 5, страница 1 из 1
Склеить два приложения
    #38235780
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
РВ10.5
Есть две программки имеющие до 80% одинаковых объектов + используют данные из почти одинаковых БД.
При старте каждая тестирует права доступа и открывает своё MDI окно.
Вопрос: как "склеить" эти две программки, чтобы можно было запускать одну из другой?

Цель минимизировать суммарные размеры (дубль библиотек и т.п.), не тестировать повторно права доступа и не создавать ещё одно подключение к БД, и т.д., и т.п. (наподобие как в "кореле" переход от одного редактора к другому и обратно через меню).

P.S. Сейчас реализовано через WINAPI (запустить и подождать когда откроется новой ПО, потом закрыть старое). Каждое ПО имеет свой каталог с полным набором библиотек и своей БД.
...
Рейтинг: 0 / 0
Склеить два приложения
    #38236199
mgl_www
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AIS,
Если просто нужно запустить один из вариантов, то я, например, помещаю в ini-файл объединенного приложения некий признак, по которому вызывается то или иное MDI.
Или обязательно нужно "чтобы можно было запускать одну из другой"?
...
Рейтинг: 0 / 0
Склеить два приложения
    #38236411
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mgl_wwwAIS,
Если просто нужно запустить один из вариантов, то я, например, помещаю в ini-файл объединенного приложения некий признак, по которому вызывается то или иное MDI.
Или обязательно нужно "чтобы можно было запускать одну из другой"?
Не совсем понял с ini-файлом.

Надо:
- дать пользователю доп.сервис: из одного приложения открывать (либо переходить в) другое, и тоже в обратном направлении. При этом не обязательно 1-ое ПО должно закрываться при открытии 2-го.
- цель экономии времени на тест доступа, подключения к БД, + экономия места на диске.

Конечно можно тупо "склеить", т.е. сделать одно большое ПО (один ЕХЕ). А хотелось бы, чтобы эта конструкция была модульной (два ЕХЕ).
Есть одно из 2-х ПО у пользователя, и он может к нему подключить 2-ое ПО как модуль, и запускать каждое самостоятельно, либо один из другого.

Похоже, что надо делать например как у Sybase: общая папка, в которой у каждого ПО своя папка + каталог общих файлов типа Shared. Тогда можно подключать (т.е. дополнять общую папку папкой нового ПО) любое количество модулей.

Остался один воспос: как при открытии 2-го ПО не проводить повторный тест на доступ? Ну, чтобы более менее надежно. :))
...
Рейтинг: 0 / 0
Склеить два приложения
    #38236791
mgl_www
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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Конечно можно тупо "склеить", т.е. сделать одно большое ПО (один ЕХЕ).
А почему "тупо". Это как раз и правильно, если вы говорите, что у этих программ много "одинаковых объектов + используют данные из почти одинаковых БД". Размер общего ехе-файла будет меньше, чем сумма размеров отдельных ехе-файлов.
...
Рейтинг: 0 / 0
Склеить два приложения
    #38237309
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AISтестирует права доступа - читает метаинформацию для последующей работы без дополнительного обращения к БД при формировании интерфейса? Или под этим словосочетанием понимается что-то другое?

AIS почти одинаковых БД.Выделенное обычно означает разные БД. Соответственно, не понимаю, как можноAISне создавать ещё одно подключение к БД

AISЦель минимизировать суммарные размеры (дубль библиотек и т.п.)Стоимость современных жестких дисков не слишком высока, так что... Впрочем, что не устраивает в таком, например, подходе?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
//This example specifies different files in the library search path based on the selected application subsystem:
string ls_list
ls_list = getlibrarylist ()
CHOOSE CASE configuration
   CASE "Config1"
      SetLibraryList(ls_list + ",lib1.pbd, lib2.pbd, &
         lib5.pbd")
   CASE "Config2"
      SetLibraryList(ls_list + ",lib1.pbd, lib3.pbd, &
         lib4.pbd")
END CHOOSE 


AIS, Вы что-то недоговариваете.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Склеить два приложения
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]