hur.cn - 华软网

 热门搜索

编译过程中出现的问题,请大虾解燃眉之急!

  作者:未知    来源:网络    更新时间:2019/7/30
毛病应用程序 pb90.exe,版本 9.0.0.5507,毛病模块 pbvm90.dll,版本 9.0.1.7119,毛病地址 0x002c112d。

问题现象: 所有的资料( 窗体,数据窗口等 )都能够独自编译,也能够通过环境运行,然则想把应用库编译成PBD资料时总失利. 失利后应用库就没法打开. 不知道是什么问题.   If lnv_connectserv.of_ConnectDB ( ) = 0 Then
  guo_ShowTitleBar = Create  nvo_ShowTitleBar
  /*  Open Main window  */
  open( w_base_show )   /*只写这一句时候没有问题 能够编译*/
  open( w_mainboard )   /*只写这一句时候编译报错*/
       End If
然则w_mainboard 独自编译的时候也没有问题
------华软网友回答------
这两个窗体区别在于前者对照简单  后者含有串口措置惩罚控件,
------华软网友回复------
先把pb省级了再说,去syabse注册后免费下
------华软网友回复------
你先打开 w_mainboard 然后再打开w_base_show 试试

w_base_show窗口是否是背景窗口?

------华软网友回复------
你先打开 w_mainboard 然后再打开w_base_show 试试

w_base_show窗口是否是背景窗口?

------华软网友回复------
你先打开 w_mainboard 然后再打开w_base_show 试试

w_base_show窗口是否是背景窗口?

------华软网友回复------
串口措置惩罚控件独自编译后也没有问题  为什么放在一起编译编译到应用库的主问题new4.sra时就报错  然后整个事情环境就没法正常打开?

------华软网友回复------
w_base_show是一个基本窗口  和 w_mainboard 没有关系
open( w_base_show )   /*只写这一句时候没有问题 能够编译*/
open( w_mainboard )   /*只写这一句时候编译报错*/
两句都不写也可编译    两句都写也编译不了
肯定不是版本问题,我先知道PB是如何执行编译程序的 先预措置惩罚什么再措置惩罚什么在编译什么最后形成可执行资料,这样就能够顺藤摸瓜找到咱们程序中的问题,  看看是引用毛病照旧全局常量被异常修改照旧源资料中有异常字符或是.......
实在不行只可重现建一个一样的窗口把所有代码时间函数意义搬进去.  这个'问题'窗口  里面有几十个控件 几十个函数 麻烦....
------华软网友回复------
遇到这类怪问题的时候一般我的措置惩罚步骤是这样的:
1.Optimize一下,这会引起PBL中所包括对象的重新构建(我想是的)
2.增量编译一下,如果不通的话FUll编译一下
3.99.99%此类问题通过以上措置惩罚基本已经解决了,如果照旧不行的话,能够在library painter窗口选中所有类导出再导入新的库中;
4.99.9999%问题到此时已经解决,如果照旧不行的话,我就只可一个个库一个个对象一条条代码地排除问题了:(
notes:由于我的应用库列表中包括pbd资料,FULL编译之前的时候以前经常出现此类问题,现在已经半年没有出现这类问题.其它同事偶尔还会出现,通过偶的指导照旧一样解决了:D
------华软网友回复------
赞成楼上的,我天天编译,次次都用FUll编译,修改的地方太多时不用FUll编译就会犯错
------华软网友回复------
/* 沿用PB的坐标系统*/
double   gd_gene = 1
//坐标原点
constant long  gl_o_x = 50 * gd_gene
我一直怀疑是全局常量出的问题,  后来发现以上两句代码有问题. 去掉第二句前面的关头字 constant能够解决该问题; 在第一句前加上constant也能够解决这一问题. 
全局变量定义后编译器检查不出这里的毛病,在full编译时才报这样的错.  另有误修改全局常量时也会有这样的错.
谢谢大家的提醒!
     
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。