先看下面两行代码
messagebox('',3)
my_popup.m_traymenu.popmenu ( i_pointx , i_pointy )
解释下,上面一行,只是一个弹出窗口提示,下面一行是我需要弹出的菜单,然后问题是:如果我把上面那个不注释掉,在弹出窗口,我点确定后,就能看到我的弹出菜单了,,但是,假如,我注释了上一行,那么下面这个弹出菜单就出不来了,,出来是的:
Runtime Error!
Program:C:\Program Files\Sybase\PowerBuilder 12.5\pb125.exe
R6025
-pure virtual function call
说我调用了虚拟函数,不可用函数?
哪位高手指点下啊 。。。。
------解决方案--------------------
加减一两个不相关的语句,可以导致的出错或不出错.
多数情况下,是前面调用了外部函数(这个要很仔细地查),导致内存被非法引用.
比如有个外部的DLL函数
function long (ref string a)......
这个函数对A进行了操作,但是在调用前你在PB中没有为A分配内存.这时已出错了.只是它没有立刻发作.
加减一两个不相关的语句,可以导致附近的内存重新分配,它可能又不立刻发作了.