PB修改源码时报错:C0176: Badly ordered TYPE and VARIABLE declarations. Is this modified exported source?

当出现继承关系,比如

祖先:w_master

子孙:w_child 继承自w_master

当w_child写好后(已经存在了)

PB修改源码时报错:C0176: Badly ordered TYPE and VARIABLE declarations. Is this modified exported source?_第1张图片

在w_master中就可以写上instance变量: w_child iw_child

PB修改源码时报错:C0176: Badly ordered TYPE and VARIABLE declarations. Is this modified exported source?_第2张图片

但是,当你用edit source改变w_child时

比如用PB Decompiler反编译后再次import源码时就会报错

C0176: Badly ordered TYPE and VARIABLE declarations. Is this modified exported source?

PB修改源码时报错:C0176: Badly ordered TYPE and VARIABLE declarations. Is this modified exported source?_第3张图片

而且你做optimize时,会提示你导出源码并会把这个对象pbl中移除。

PB修改源码时报错:C0176: Badly ordered TYPE and VARIABLE declarations. Is this modified exported source?_第4张图片

这时如果关闭pb并重新打开w_master,会崩溃,因为w_master缺少w_child这个对象的引用。此时只能在w_master的source edit中先屏蔽w_child iw_child的申明

我理解的:PB提示的意思在于:你继承一个祖先对象时,必须干干净净的继承它,然后再申明变量(要在IDE中操作),而在source edit中修改或者import sr时,这些首位循环引用的对象继承关系,pb无法认同。它无法理解和处理。

具体说:在ide中,像w_child使用了w_master,而w_master中又使用了w_child。当你打开其中一个,再打开另外一个就提示你无法打开。只能关闭另外一个才能编辑。因为在编辑w_master时,pb需要知道w_child的所有静止状态信息。同理,编辑w_child时,也需要完全知道w_master的静止状态信息。不允许同时打开修改。但是pb却可以允许这种循环的引用。

回到刚才的问题。pb提示的错误位置,其实是在实例变量申明的位置。也就是

type variables

。。。。
end variables    《《错误行号提示的其实是这里。

我尝试把子孙对象的变量申明剪切掉,可以正常保存。然后回到ide中,重新粘贴到instance var处是可以正常保存的。

PB修改源码时报错:C0176: Badly ordered TYPE and VARIABLE declarations. Is this modified exported source?_第5张图片

PB修改源码时报错:C0176: Badly ordered TYPE and VARIABLE declarations. Is this modified exported source?_第6张图片

PB反编译 和 PB混淆加密 请看: www.mis2erp.com

欢迎下载测试版试用。

你可能感兴趣的:(PB反编译与加密)