powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / PB+Java, ищу партнера
3 сообщений из 3, страница 1 из 1
PB+Java, ищу партнера
    #39416901
avs63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую всех участников форума,

Для своего проекта ищу вариант предоставления конечным пользователям
возможности расширения функционала программы. Текущая реализация этой задачи
у нас основана на библиотеке PBORCA и вполне устраивает по предоставляемым ее
возможностям (фактически имеем встроенный компилятор, доступ ко всем объектам
приложения и поэтому пишем все что хотим). Но лицензия на эту библиотеку всегда
запрещала тиражирование соответствующих .dll файлов, а начиная с 11 версии они
еще, в добавок, и заблокированы SYSAMом. Хотя, конечно, вариант обхода и этой
защиты имеется, но хотелось-бы иметь более легальное и открытое решение.

Пытался прикрутить какой-либо скриптовый язык типа JScript, VBScript через
MSScripting. Да можно, но решение чисто на основе COM все-равно остается далеко
не полным, а для написания чего-то более глубокого с применением C++ и дергания
всяких там disp интерфейсов - знаний не достаточно.

Стал смотреть в сторону Java. Благо для PB есть примеры, к тому же парадигмы с той
и другой стороны совпадают (PBNI, JNI). Хотя и в этом случае без C++ не обходится,
но даже мне, имеющего скудные знания, кое-что удалось реализовать.

Конечная цель (задача): требуется обеспечить тесное взаимодействие двух языков
PB и Java, не используя proxy-объектов первого (иначе нужна ORCA). Под тесным
взаимодействием понимается следующее: со стороны PB доступ до всех доступных
классов и объектов Java, с возможностью вызова их методов (в том числе
статических), изменения свойств объектов и возврат результатов в PB. Со стороны
Java зеркальная задача - доступ ко всем объектам текущей сессии PB с
получением/изменениям их свойств и вызовом методов/событий.
Работаем по принципу invocation interface, т.е. PB - ведущий, Java - ведомая.

Пока удалось частично реализовать 1-ый этап в части пересылки туда-обратно
значений простых java-типов и java-объектов (массивы пока не реализованы).
Вот что имеем на PB:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
integer li_rc
java_vm jvm
java_class jcl
java_method jm
java_object job
java_result jres
any  la_res, la_params[]

jvm = CREATE java_vm
li_rc = jvm.CreateJavaVM(".", true)
job = jvm.CreateJavaObject("Converter")
jm = jo.GetMethod("dollarToYen", "(D)D")
jres = jm.Invoke({100})
la_res = jres.GetValue()

la_params[1] = job
la_params[2] = 230.60
jcl = jvm.CreateJavaClass("Luncher")
jm = jcl.GetMethod("testConverter", "(LConverter;D)D")  //статический метод
jres = jm.Invoke(la_params[])
la_res = jres.GetValue()

/* The End */



В том, что такой проект реализуем я уверен на 100%. Вопрос только во времени. И
вот, чтобы как-то его ускорить буду рад найти среди оставшихся PB-могикан
единомышленника, заинтересованного в решении сходной задачи и хорошо
владеющего C++. Если оба условия присутствуют - пишите в личку, скину исходники.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
PB+Java, ищу партнера
    #39688929
svazeeland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
avs63, приветствую, у меня схожая задача - расширение функционала pb-приложения, рассматриваю разные варианты - от все переписать до примерно вашего. вам как то удалось продвинуться? у меня нормально более менее и с плюсами и с жабой, надо плотнее посмотреть что получается, если рабочий вариант и помощь нужна еще - вольюсь...
...
Рейтинг: 0 / 0
PB+Java, ищу партнера
    #39689260
avs63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svazeeland ,

Последняя версия этой библиотеки здесь . У нас PB 11.5, поэтому и
классы Java соответствующие, Возможно, для другой версии PB,
понадобится перегенерация некоторых классов. Утилита для этих
целей включена в дистрибутив. Если будут вопросы пишите в личку.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / PB+Java, ищу партнера
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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