编译成exe+dll是正常的,但不勾选dll,编译成单个exe,运行时出现空对象引用的异常,是什么原因呢

编译成exe+dll是正常的,但不勾选dll,编译成单个exe,运行时出现空对象引用的错误,是什么原因呢?
pb11.5版  如题
------解决思路----------------------
引用:
pb11.5版  如题


那就编译成pbd,不勾选pbd,编译成单个的exe试试
------解决思路----------------------
估计是pb本身的bug,按道理说应该是可以的

我以前也碰到过,编译成pbd,勾选pbd时是正常的,但编译成单个exe有问题的情况


其实dll和pbd道理是差不多的,dll也不是真正的dll,也需要pbvm解释执行,并且反编译的话,和pbd一样容易
------解决思路----------------------
在程序开始的代码中加几个messagebox,看一下运行到哪个地方出错了,然后再分析一下
------解决思路----------------------
引用:
Quote: 引用:

在程序开始的代码中加几个messagebox,看一下运行到哪个地方出错了,然后再分析一下


感谢lzp_lrp 的建议!
问题是,用messagebox可以定位到出错的某一行代码,引用不了某个对象。然后能怎么做呢?编译的操作就那么几个选择,可以怎样解决呢?


这是pb本身的问题,把这个对象去掉,或者换种方式去实现
------解决思路----------------------
应该是32位和64的问题
用pb运行时是使用32位来调用dll exe的话有可能使用的64位调用 
在exe所在文件夹名字后面加上(X86)试试
------解决思路----------------------
有些引用了一些对象什么的,或则图片动态更换的,那么是不允许值编译成exe的,需要dll或pbd,个人觉得还是pbd兼容性好,dll有时候也会出错。