2009-06-19 109 views
1

有誰知道是否有可能讓給定的PowerBuilder應用程序(我通常沒有源代碼)加載我提供的自定義擴展(非可視擴展)?自動加載PowerBuilder擴展

我知道我可以將我的.pbd添加到PowerBuilder中PowerScript目標的庫列表中,但是當給定完整的基於PowerBuilder的GUI時,可能有一些配置文件可以手動編輯,指定路徑我的額外.pbd,以便它在應用程序啓動時加載?

回答

2

如果你的源代碼,你表示你不這樣做,你可以使用SetLibraryList改變運行時庫列表(IIRC建議不要AddToLibraryList由於某種原因或其他)。通過閱讀啓動命令行,您可以在運行時交換庫以包含特定版本。

我不知道有任何方法來修補現有的PB.exe來做這樣的事情。

即使你是一個非常黑客,PB生產的.exes也是PB VM的引導加載程序,所以你需要了解「exe」的結構以影響加載時間庫列表通過修補。如果只是簡單地交換對象/函數的一個實現,則可能會完成另一個實現,否則,您需要知道如何修補特定的PBD/DLL以調用添加的庫中的函數。

2

我不認爲有一種簡單的方法來在運行時修補pb.exe - .pbds的列表在編譯前已定義,我不知道在運行時更改它的方法。您可以查看反編譯和/或編輯.exe,但這可能不是微不足道的。

2

簡短的回答是否定的。如果沒有源代碼,您不能添加擴展名,或者就此而言,請在這樣的擴展名中調用任何內容。