我正在尝试理解PBNI的需求。我想听听你对此的看法。我看到它是仿照Java JNI设计的。有了Java拥有的安全模型,我可以理解他们为什么需要JNI。
但是有了PB,我们不是已经可以访问所有的windows API了吗?此外,我们可以随时调用外部DLL中的函数。因此,需要单独的PBNI有什么必要呢?我知道,我遗漏了一些东西。与简单的DLL或Activex组件相比,什么样的应用程序/库会使用PBNI。
另外,我使用的是PB 10,这在11和12以及以后的版本中会继续吗?
我非常感谢任何关于这项技术的反馈、评论或建议。再次感谢您的投入。
相同的
发布于 2011-11-02 04:44:22
PBNI的目的是允许扩展PowerBuilder。当您通过PBNI添加一个对象或函数时,它就变得与PowerBuilder中的内置函数一样。PBNI中的控件也是如此,您只需将它们拖出系统树并放到窗口中即可。我在PBNI中看到的一些有用的东西包括位旋转、自定义字符串操作和画布控件。您还可以使用PBNI与您想要的任何其他内容进行通信。IIRC有人做了一个可以让你调用Python的接口。PB Classic的SOAP库也在脑海中浮现。
关于Windows API,您可以调用相当多有用的东西,但如果需要回调,您会立即遇到困难。此外,如果您需要PowerBuilder不能创建的类型的结构,则必须编写MoveMemory命令来推送数据。
https://stackoverflow.com/questions/7968928
复制相似问题