社区
Delphi
帖子详情
高手救急,当我在程序最后执行了Application.Terminate 以后,程序报错,不知何故,时有时无,在线等待!(Terminate后程序做了哪些事呀?)
alenmin
2003-09-29 06:12:00
高手救急,当我在程序最后执行了Application.Terminate 以后,程序报错,不知何故,时有时无,在线等待!(Terminate后程序做了哪些事呀?)
...全文
55
9
打赏
收藏
高手救急,当我在程序最后执行了Application.Terminate 以后,程序报错,不知何故,时有时无,在线等待!(Terminate后程序做了哪些事呀?)
高手救急,当我在程序最后执行了Application.Terminate 以后,程序报错,不知何故,时有时无,在线等待!(Terminate后程序做了哪些事呀?)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Maple119
2003-09-30
打赏
举报
回复
是不是你使用的 TADOConnect??????连接在没有连接过的情况下关闭的呢????
我遇到这种情况.
tongki
2003-09-30
打赏
举报
回复
学习啊!
FrameSniper
2003-09-30
打赏
举报
回复
偶学习!
IORILI
2003-09-30
打赏
举报
回复
我喜欢看高手的意见:)
alenmin
2003-09-30
打赏
举报
回复
用Exitprocess(1)就行了.
ehom
2003-09-29
打赏
举报
回复
Free只是释放线程实例,但和线程终止没有必然联系.
为什么Free会释放线程?因为在TThread的析构函数中会调用Terminate;
Terminate中会改变标记成员变量FTerminated := True;
接着通过在Execute中的适当位置执行if Terminated then Exit结束线程.
否则就只能利用API TerminateThread强制结束了.
好好看看帮助中的例子吧,如果能熟习Windows的机制,再阅读部分VCL代码,比较容易找到这类问题的关键所在.
甜而不腻
2003-09-29
打赏
举报
回复
Free线程,和在线程里调用Application.Terminate冲突.
只要一个就可以了.
因为2个效果相同调用2个相当于重复调用,然后形成一个死循环.
如果在线程中,那么你会内存泄露,直到程序完蛋为止.
alenmin
2003-09-29
打赏
举报
回复
猜得非常正确!
不过我已经先Free了线程,再Application.Terminate的,还是不行!
vcshcn
2003-09-29
打赏
举报
回复
你是不是在程序中用了线程
delphi关闭
程序
Close,
application
.
Terminate
与halt区别
当Close是一个主窗体时,
程序
会退出. Close会发生FormClose
事
件,FormCloseQuery
事
件 Halt会发生FormDestory
事
件,
Application
.
Terminate
以上三个
事
件都不会发生
Application
.
Terminate
就是
程序
结束了。整个
程序
结束运行,系统强行收回系统资源 当主窗口关闭时或WM_QUIT消息触发时,
Terminate
Application
.
Terminate
关不掉
程序
。
程序
要求运行时需要狗,如果运行时狗被拔掉,则
程序
退出。本来这也没什么,我的处理方法是:
程序
接收WM_DEVICECHANGE系统消息,然后判断狗是否存在,不存在则退出。代码: irtn := fIsUkeyExist; if irtn 1 then
Application
.
Terminate
;但是今天,测试人员发现,如果拔出狗时,鼠标正在浏览菜单(停留在
程序
关于
Application
.
Terminate
Application
.
Terminate
结束
程序
还会
执行
Application
.
Terminate
后面的代码到 end .. 实际上是调用 PostQuitMessage(); 一般要
执行
完主窗口Form的过程
程序
中的输入点ucrtbase.
terminate
无法定位——解决方法和示例代码
总结起来,当你遇到"无法定位
程序
输入点ucrtbase.
terminate
"错误时,首先要检查系统中是否缺少运行时库或者安装了不兼容的版本。如果你在运行该
程序
时遇到"无法定位
程序
输入点ucrtbase.
terminate
"错误,可能是因为你的系统缺少了ucrtbase.dll。版本不匹配:如果你的
程序
依赖于某个特定版本的ucrtbase.dll,而你的系统中安装的版本与之不兼容,那么也会出现无法定位
程序
输入点的错误。如果你的系统上安装了不兼容的版本,你可以通过更新
程序
来适应当前可用的版本。
delphi关闭
程序
Close,
application
.
Terminate
与halt有什么区别
在有多个Form窗体时可以体现出来. 用close是只关闭本窗体,而用
Application
.
terminate
是关闭整个
程序
,包括所有窗体. (1)当Close是一个主窗体时,
程序
会退出。Close会发生FormClose
事
件,FormCloseQuery
事
件。close,只是针对窗体。主窗体close
以后
程序
就
Application
.
Terminate
了。 子窗体close
以后
。没释放,
Delphi
5,388
社区成员
262,729
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章