有谁知道是否可以让给定的 PowerBuilder 应用程序(我通常没有源代码)加载我提供的自定义扩展(非可视化扩展)?
我知道我可以将我的 .pbd 添加到 PowerBuilder 中 PowerScript 目标的库列表中,但是当给定一个完整的基于 PowerBuilder 的 GUI 时,也许有一些配置文件我可以手动编辑,指定我的额外 .pbd 的路径,以便在应用程序启动时加载它?
有谁知道是否可以让给定的 PowerBuilder 应用程序(我通常没有源代码)加载我提供的自定义扩展(非可视化扩展)?
我知道我可以将我的 .pbd 添加到 PowerBuilder 中 PowerScript 目标的库列表中,但是当给定一个完整的基于 PowerBuilder 的 GUI 时,也许有一些配置文件我可以手动编辑,指定我的额外 .pbd 的路径,以便在应用程序启动时加载它?
我不相信有一种简单的方法可以在运行时修补 pb .exe - .pbds 列表是在编译之前定义的,我不知道有任何方法可以在运行时更改它。您可以研究反编译和/或编辑 .exe ,但这可能很重要。
如果您有源代码,但您表示没有,您可以使用 SetLibraryList 更改运行时库列表(出于某种原因,不建议使用 iirc AddToLibraryList)。通过阅读启动命令行,您可以在运行时换出库以包含特定版本。
我不知道有什么方法可以修补现有的 PB .exe 来做这样的事情。
即使你是一个非凡的黑客,PB 生成的 .exes 确实是 PB VM 的引导加载程序,所以你需要了解“exe”的结构,以通过修补来影响加载时库列表。如果您只是将一个对象/函数的一个实现换成另一个,那么您可能已经完成了,否则您将需要知道如何修补特定的 PBD/DLL 以调用添加的库中的函数。
最简洁的答案是不。如果没有源,您将无法添加扩展,或者就此而言,调用此类扩展中的任何内容。