社区
C++ Builder
帖子详情
程序无法正常结束
shicong2004
2006-09-05 10:47:36
遇到一个问题,程序在调用主窗口的close之后,不能正常结束,只是所有窗口关闭了,在任务管理器中看到进程仍然存在,请哪位大虾解释一下这是什么原因
所用builder版本为6.0,程序中使用了BussinessSkinForm
...全文
558
34
打赏
收藏
程序无法正常结束
遇到一个问题,程序在调用主窗口的close之后,不能正常结束,只是所有窗口关闭了,在任务管理器中看到进程仍然存在,请哪位大虾解释一下这是什么原因 所用builder版本为6.0,程序中使用了BussinessSkinForm
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
34 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shicong2004
2006-09-13
打赏
举报
回复
字节对齐方式?这个没有注意过,是什么意思
编译设置应该都是一样的
shicong2004
2006-09-13
打赏
举报
回复
谢谢上面的回答
问题已经解决了,结果是方向性错误了,程序本身是没有错误的,而是因为在程序中用到的corba的orb配置问题,在cb中客户端的orb配置成多线程会出现orb线程不能自行销毁的问题,由于vc里面不会,所以配置文件拿过来后一直没有想到是这方面的问题,再次谢谢各位的回答
netliuming
2006-09-12
打赏
举报
回复
查看一下,会不会你的工程在字节对齐方式上与其他的dll工程不一致。比对一下你的编译设置跟别人正常的看那里有不一样。bcb中一般查complier的compiling, Advanced complier几项就行了。
shicong2004
2006-09-11
打赏
举报
回复
谢谢大家的回答
这个问题我实在有点搞不定了
不过现在又发现一个现象,如果直接启动或者从builder里面调试则程序是不会正常结束,不过如果通过vc的动态链接库调试方式(动态链接库使用vc实现的)启动程序它又是可以正常结束的,我就想是不是动态链接库有什么使用方法上面没有搞对(我是用vc实现,然后用implib导出成builder的lib文件,然后使用),问问大家有什么看法
shicong2004
2006-09-11
打赏
举报
回复
通过排除法差不多知道问题代码,但是不敢确定,因为在动态链接库中去掉那几行代码就正常,不过麻烦的是那几行代码又调用了别人另外的动态链接库,而且这几行库除了我之外的其他人用起来都是没有问题的,就是不知道为什么加到我的库中会出现这种现象,同时正如我上面提过,用vc调试我的库测试的时候程序又是正常的
肯定不是数组越界和参数传递之类的错误
jiangshx
2006-09-11
打赏
举报
回复
排除法,一段一段的去代码,看看去了哪段后,再不出错
然后查查参数传递的类型是否一致,数组的下标值是否存在超出范围的可能
jiangshx
2006-09-11
打赏
举报
回复
指针越界
Taiji02
2006-09-08
打赏
举报
回复
BussinessSkinForm惹的吧,这些控件有时会产生莫名其妙的错误的。
muroachanf
2006-09-08
打赏
举报
回复
检查Dll的退出的时候有没有阻塞或者死循环,
另外com异常
xiaoshi0
2006-09-08
打赏
举报
回复
还有要说的就是,codeguard只能说有点小用,不要依赖它
你的程序codeguard检查不出来的,内存泄漏不会导致进程无法结束
个人感觉还是DLL的调用上,或者DLL本身存在问题
xiaoshi0
2006-09-08
打赏
举报
回复
内存没有释放不会导致程序关闭不了,最可能的情况就是线程被挂起了,或者是线程进入了死循环。
你认为你的程序用了其他的第三方控件才不正常的,我觉得可能性比较小,还是先查查你自己的程序吧。
看看你的程序有几个线程,每个线程都做了哪些事情,什么时候创建,什么时候撤销的。
或者是你调用了其他的DLL,然后DLL中有线程挂死了,导致DLL不能释放,这都是有可能的。
netliuming
2006-09-08
打赏
举报
回复
动态调的?有及时释放吗在退出前?
flowercity
2006-09-07
打赏
举报
回复
我的线程也出现过
先销毁不行
还要先挂起再销毁
否则程序也退不出来
gloom
2006-09-07
打赏
举报
回复
有些时候有点莫名其妙,前段时间我也遇到这们的问题,Close以后没界面了,进程列表还在,后来发现只要先最小化应用程序,再关闭就没事了,所以我是先调用Application->Minimize(),再Close
不过各人情况不一定一致。
shicong2004
2006-09-07
打赏
举报
回复
谢谢各位的回复
这两天再跟了一下,发现只要调用了动态链接库(自己做的)中的函数,程序就会出现这种情况,不调则不会出现问题,不过仍然无法解决,请问各位这可能是什么原因
shicong2004
2006-09-07
打赏
举报
回复
问题真是有点莫名其妙,我的dll库其他人也会调,不过他们就没有出现这个问题,我就推测是不是exe程序中某个部分造成dll出现问题,我就把几乎所有代码注释掉,不过只要一调dll库,还是会出问题,实在是有点莫名其妙
netliuming
2006-09-07
打赏
举报
回复
感觉还是代码逻辑问题,我以前也碰过有一段时间程序老退不出来,一步一步跟踪下去还是能找到原因的。还有当出现问题时马上查看call stack也很有用。
shicong2004
2006-09-05
打赏
举报
回复
程序结束的时候所在线程就是主线程,用codeguard也没有什么发现,郁闷呀...
BlueDeepOcean
2006-09-05
打赏
举报
回复
我上面说到那些都是我以前经历的,并非无的放矢。而且有很多程序不能正常退出的可能比我说的那些还要奇怪。
netliuming
2006-09-05
打赏
举报
回复
退出时,设断点跟踪一下,还有看看thread status有那些线程,当出问题时是在那个停止的。
还有就是可以打开codegurad看内存泄漏,不过BlueDeepOcean(蓝色·深海)以前说这个不是很准,但直到目前我还没碰到她说的那个情况,不敢断言。 打开它应该还是可以帮助你,如果有内存泄漏的话
加载更多回复(14)
微信小
程序
系统教程C#版[3/3阶段]_微信小
程序
电商系统
微信小
程序
系统教程[初级阶段],微信小
程序
0基础学起,讲解微信小
程序
开发的基础知识。 微信小
程序
系统教程共有“微信小
程序
系统教程[初级阶段]”、“微信小
程序
系统教程[中级阶段]——核心技术”、“微信小
程序
...
python
结束
任务之后如何关闭_如何终止python
程序
运行
python是解释运行的
程序
,
程序
进入死循环或者其它异常都会导致
程序
无法
正常
结束
。虽然python
程序
不会像exe
程序
那样是系统进入难以恢复的异常,但是却会使python解释器不能继续往下工作,尤其是采用命令行模式时。...
Windows系统提示应用
程序
无法
正常启动(0xc0000142)解决方法
在Windows中应用
程序
无法
正常启动,显示错误代码0xc0000142,造成的原因通常是因为部分DLL文件未能被系统注册,导致动态库调用错误。 解决方法: 方法一: 在搜索框中输入“mscon”,打开“System Configuration”...
python按什么键停止运行_python如何停止运行
python是解释运行的
程序
,
程序
进入死循环或者其它异常都会导致
程序
无法
正常
结束
。虽然python
程序
不会像exe
程序
那样是系统进入难以恢复的异常,但是却会使python解释器不能继续往下工作,尤其是采用命令行模式时。...
word excel 应用
程序
无法
正常启动(0xc0000142)
打开excel或者word时,显示出错:
程序
无法
正常启动(0xc0000142),请单击’确定‘关闭应用
程序
,按提示单击确定。 同时按住CTRL+alt+delete键 在弹出的窗口中,点击”任务管理器“ 在新弹出的任务管理器窗口中找到...
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章