编译成exe文件后执行报错

时间:2021-02-19 23:44:33

在pb10中创建了一个窗口 w_background,类型是popup!,在w_main的open事件中写如下代码:
Window lw_temp

OpenSheet(lw_temp,'w_background',This,-1,Layered!)

运行没有问题,编译后,运行exe文件提示:error:unknown object type:w_background  at line 3 in open event of object w_main。
这是怎么回事呢?

7 个解决方案

#1


引用 楼主 u014628205 的回复:
在pb10中创建了一个窗口 w_background,类型是popup!,在w_main的open事件中写如下代码:
Window lw_temp

OpenSheet(lw_temp,'w_background',This,-1,Layered!)

运行没有问题,编译后,运行exe文件提示:error:unknown object type:w_background  at line 3 in open event of object w_main。
这是怎么回事呢?


把类型改为main!即可,popup不能做为sheet打开,你也可以这么用

Open(lw_temp,'w_background')

#2


可是w_background是用来做w_main的背景的啊

#3


是你的w_background窗口没有被编译到exe当中去,呀解决该问题,在资源文件里面(pbr)里面加上你的pbl名称和窗口名
d:\ma\xxx.pbl(w_background)编译的时候选择该资源文件就可以了。
或者在窗口的open事件里面写上 
 if   1=2  then 
    open(w_background)
 end if 
再编译就没有问题了。

#4


这个w_background和其他窗口都在一个PBR下面啊

#5


引用 2 楼 u014628205 的回复:
可是w_background是用来做w_main的背景的啊


那你的w_background不要用popup,用main

#6



那你的w_background不要用popup,用main

用main后,运行后在w_main的下面的背景图片上面出现了工具栏。w_background改为main类型后,titlebar不能取消了。

#7


已经解决了,我把图片控件直接放在w_main,不用w_background就行了。还是谢谢大家。

#1


引用 楼主 u014628205 的回复:
在pb10中创建了一个窗口 w_background,类型是popup!,在w_main的open事件中写如下代码:
Window lw_temp

OpenSheet(lw_temp,'w_background',This,-1,Layered!)

运行没有问题,编译后,运行exe文件提示:error:unknown object type:w_background  at line 3 in open event of object w_main。
这是怎么回事呢?


把类型改为main!即可,popup不能做为sheet打开,你也可以这么用

Open(lw_temp,'w_background')

#2


可是w_background是用来做w_main的背景的啊

#3


是你的w_background窗口没有被编译到exe当中去,呀解决该问题,在资源文件里面(pbr)里面加上你的pbl名称和窗口名
d:\ma\xxx.pbl(w_background)编译的时候选择该资源文件就可以了。
或者在窗口的open事件里面写上 
 if   1=2  then 
    open(w_background)
 end if 
再编译就没有问题了。

#4


这个w_background和其他窗口都在一个PBR下面啊

#5


引用 2 楼 u014628205 的回复:
可是w_background是用来做w_main的背景的啊


那你的w_background不要用popup,用main

#6



那你的w_background不要用popup,用main

用main后,运行后在w_main的下面的背景图片上面出现了工具栏。w_background改为main类型后,titlebar不能取消了。

#7


已经解决了,我把图片控件直接放在w_main,不用w_background就行了。还是谢谢大家。