手頭上有一個pb的應用程式,都是以pbd,和dll檔案形式的。其實有個dll檔案就是pb寫的,我并將其中的有一個dll檔案反編譯成了pbl檔案的形式。我新建了一個工程,用了一個target把所有的pbd檔案都包含了進來,并把其中一個dll反編譯成的pbl檔案也包含了進來。然后我完全編譯了這個pbl檔案編譯成了dll檔案,編譯也都成功了,沒有提示錯誤。我編譯后的這個dll檔案和原來的檔案dll是一樣大小(精確到位元組都是樣的)。我并用了pbkiller打開看原代碼也都是一樣,怪的問題的出現了,我編譯生成的這個dll檔案就不能用。原來的的dll檔案就可以用.
且觸發了systemerror 事件,提示 Bad runtime function referenec at line XXX in function XXXX
更怪的是這個函式不在我寫的dll檔案中,而是在pbd的檔案中!
是高手的給點意見……,我本人也從事了pb開發2年了,這個問題還沒有搞定!
uj5u.com熱心網友回復:
具體看哪行是怎么回事吧!uj5u.com熱心網友回復:
不知道這么搞你要做什么?為什么不用原始碼來編譯呢?聽說pbkiller飯編譯的有時不是很完全的。
uj5u.com熱心網友回復:
你最好去找反編譯器的作者uj5u.com熱心網友回復:
如果完全反編譯成功的話應該是可以的..可以跟蹤除錯一下.uj5u.com熱心網友回復:
很明顯用到另外一個pbd,都要編譯才行,不過你還是放棄吧,你還會出現別的問題uj5u.com熱心網友回復:
反編譯的還是不要正式發布好。uj5u.com熱心網友回復:
我一定要找到答案啊,呵呵,我一定要解決這個問題,請大家關注啊!uj5u.com熱心網友回復:
選擇增量編譯試試 ,pbd檔案在編譯的時候就不要選上了uj5u.com熱心網友回復:
全部搞成pbl,然后除錯通過,再編譯,這樣差不多應該不會有問題了.另外看一下你出錯的那行具體是什么,分析一下,或先注釋掉,編譯看是不是可以運行.
uj5u.com熱心網友回復:
PowerBuilderuj5u.com熱心網友回復:
發編譯工具,可以完全變成之前那個 pbl 嗎?
uj5u.com熱心網友回復:
菜鳥進來學習學習uj5u.com熱心網友回復:
我也進來學習學習uj5u.com熱心網友回復:
關注中uj5u.com熱心網友回復:
Bad runtime function referenec at line XXX in function XXXX你這個物件應該是動態創建的 var ab = create using 'vclass'
這種情況,編譯的時候,這個物件是不會到 dll中的。你可以在資源檔案中加上他
pbr 檔案中
d:\xxx.pbl(vclass)計可以了
uj5u.com熱心網友回復:
菜鳥不小心進來了。
uj5u.com熱心網友回復:
一堆不知所云、、、uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
function referenec應該是這個函式的問題吧?你看看反編譯回去的pbl是不是有單獨的一個XXXX函式啊?如果沒有就是在別的pbd里了
個人覺得用反編譯軟體根本就是徒勞,很少有反編譯后再編譯成功的,幾乎都報錯
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/100871.html
標籤:項目管理
