1

有谁知道是否可以让给定的 PowerBuilder 应用程序(我通常没有源代码)加载我提供的自定义扩展(非可视化扩展)?

我知道我可以将我的 .pbd 添加到 PowerBuilder 中 PowerScript 目标的库列表中,但是当给定一个完整的基于 PowerBuilder 的 GUI 时,也许有一些配置文件我可以手动编辑,指定我的额外 .pbd 的路径,以便在应用程序启动时加载它?

4

3 回答 3

2

我不相信有一种简单的方法可以在运行时修补 pb .exe - .pbds 列表是在编译之前定义的,我不知道有任何方法可以在运行时更改它。您可以研究反​​编译和/或编辑 .exe ,但这可能很重要。

于 2009-06-20T11:02:39.400 回答
2

如果您有源代码,但您表示没有,您可以使用 SetLibraryList 更改运行时库列表(出于某种原因,不建议使用 iirc AddToLibraryList)。通过阅读启动命令行,您可以在运行时换出库以包含特定版本。

我不知道有什么方法可以修补现有的 PB .exe 来做这样的事情。

即使你是一个非凡的黑客,PB 生成的 .exes 确实是 PB VM 的引导加载程序,所以你需要了解“exe”的结构,以通过修补来影响加载时库列表。如果您只是将一个对象/函数的一个实现换成另一个,那么您可能已经完成了,否则您将需要知道如何修补特定的 PBD/DLL 以调用添加的库中的函数。

于 2009-06-22T23:09:45.373 回答
2

最简洁的答案是不。如果没有源,您将无法添加扩展,或者就此而言,调用此类扩展中的任何内容。

于 2009-06-29T14:26:58.907 回答