Энергетик ПБНИ - PullRequest
       7

Энергетик ПБНИ

3 голосов
/ 01 ноября 2011

Я пытаюсь понять необходимость PBNI.Я хотел бы получить ваше мнение об этом.Я вижу, что это вылеплено после Java JNI.С моделью безопасности, которую имеет Java, я могу понять, зачем им нужен JNI.

Но с PB, у нас уже нет доступа ко всем окнам API?Кроме того, мы всегда можем вызывать функции во внешней DLL.При этом, зачем нужен отдельный PBNI?Я знаю, я что-то здесь упускаю.Какой тип приложений / библиотек будет использовать PBNI по сравнению с простым компонентом DLL или Activex.

Кроме того, я использую PB 10. Это продолжается в 11 и 12 и далее?любые отзывы, комментарии или предложения об этой технологии.Еще раз большое спасибо за ваш вклад.

Сэм

1 Ответ

5 голосов
/ 02 ноября 2011

Целью PBNI является расширение PowerBuilder. Когда вы добавляете объект или функцию через PBNI, он становится на одном уровне со встроенными в PowerBuilder. Это также относится к элементам управления в PBNI, вы можете просто перетащить их из дерева систем и поместить их в окно. Некоторые из полезных вещей, которые я видел в PBNI, включают в себя сдвиг битов, пользовательские строковые операции и элементы управления canvas. Вы также можете использовать PBNI, чтобы говорить с чем-либо еще, что вы хотите. IIRC кто-то сделал интерфейс, который позволяет вам называть Python. Также на ум приходит библиотека SOAP для PB Classic.

Что касается Windows API, вы можете вызывать довольно много полезных вещей, но вы сразу же попадаете в стену, если что-то требует обратного вызова. Кроме того, если вам нужна структура типов, которые PowerBuilder не может создать, вам необходимо запрограммировать команды MoveMemory для перемещения данных.

...