您的位置:程序门 -> powerbuilder -> api 调用



调用api后,程序编译运行,退出时出错,无法关闭进程……


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


调用api后,程序编译运行,退出时出错,无法关闭进程……[已结贴,结贴人:lxlsky]
发表于:2007-07-08 10:37:46 楼主
定义如下:function   ulong   getwindowsdirectory(ref   string   lpbuffer,ulong   nsize)   library   "kernel32.dll "   alias   for   "getwindowsdirectorya;ansi "

定义全局变量:string   winpath

在application处调用该函数
getwindowsdirectory(   winpath,   128   )//取得win系统路径

程序在pb环境运行正常,编译后可以运行,但退出时出错提示:
dwwin.exe   应用程序错误,应用程序发生异常unknow   software   exception(0x80000003),位置为0x7c921230.
单击确定终止程序时,程序进程依旧存在,无法正常退出。

请问这是怎么造成的?是不是api在使用后还要有个释放什么的操作?还是俺的调用有什么问题?

运行环境为pb10.2,xp   sp2!同一台电脑!专门测试这个问题,整个程序只有一个窗口,一个全局变量,一个api调用,一个控件用来显示调用结果!

还有就是比较奇怪,在有的电脑上(安装过pb10.0)运行编译后的程序,不会提示错误,但同样退出时进程已久在,必须用进程管理器来关闭!
发表于:2007-07-09 01:10:481楼 得分:90
string   winpath
winpath   =   space(256)//申请内存,256是max_path
getwindowsdirectory(   winpath,256)
发表于:2007-07-10 09:20:552楼 得分:0
调用exitprocess肯定能结束进程
发表于:2007-07-10 12:45:113楼 得分:0
请问exitprocess怎么用?
发表于:2007-07-10 14:45:504楼 得分:0
我是一楼,你调用前没申请内存,内存越界.
发表于:2007-07-10 15:26:055楼 得分:10
subroutine   exitprocess     (long   exitcode)   library   'kernel32.dll '


快速检索

最新资讯
热门点击