|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
|
2003/11/29 19:15:05 |
标题: |
请教一个关于如何解除程序运行错误的问题。 |
浏览:1570 |
|
加入我的收藏 |
楼主: |
我的机子里面有一个程序,在他运行的时候偶尔会出现各种错误。 例如: List Index Out of Bound (X) Access violations ...... 等等
这个时候都会弹出来一个messagebox和一个确定按钮,同时程序会处于冻结状态。但是点击确定按钮后,按照错误种类会分为2种结果: 1:可以继续运行。 2:必须重启该程序(某个按钮从disable变为enable状态) 该程序为网络服务器,经常会处于无人监守状态。在程序因为出错而冻结的时候,所有客户端的请求都不会被处理。 基于这种情况我想写一个程序来自动探测错误并解除他。思路如下: 用timer定时,查找子窗体,发送回车消息给程序,判断某个button是否处于enable状态。现在的问题是: 1:程序正常运行的时候只有一个主窗体。如果有子窗体就一定是错误信息了,这里我应该如何判断?(enumchildwindow?getwindowtext?或者更好的?) 2:如果我模拟一个回车的键盘消息用sendmessage发送给该程序,是发送给主程序还是给子窗体…… 3:再有就是如何判断那个按钮的状态了…… 请各位朋友不吝赐教,谢谢!
----------------------------------------------
夫君子之行,静以修身,俭以养德.非澹泊无以明志, 非宁静无以致远.夫学须静也,才须学也,非学无以广才, 非志无以成学,淫漫则不能励精,险躁则不能治性,年与时驰, 意与日去,遂成枯落,多不接世,悲守穷庐,将复何及! |
作者: |
cjrb (Thinking In 魂) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2003/11/29 19:40:48 |
1楼: |
这样不会吧: procedure TForm1.Button1Click(Sender: TObject); begin button1.Enabled :=False; try IntToStr('a); except ShowMessage('转换出错!'); Button1.Enabled:=True;//恢复 end; Button1.Enabled :=True; end;
----------------------------------------------
充电..........
|
作者: |
|
2003/11/29 19:48:12 |
2楼: |
抱歉。。还是我没说明白,我想做的是一个外部程序来监测他,而不是在会出错的程序里面写代码。 会出错的软件是从网上下的,而我想做的是写程序解除他的出错信息。
----------------------------------------------
夫君子之行,静以修身,俭以养德.非澹泊无以明志, 非宁静无以致远.夫学须静也,才须学也,非学无以广才, 非志无以成学,淫漫则不能励精,险躁则不能治性,年与时驰, 意与日去,遂成枯落,多不接世,悲守穷庐,将复何及!
|
作者: |
bios (阿贡) |
★☆☆☆☆ |
-
|
盒子中级会员 |
|
2003/11/29 20:36:53 |
3楼: |
妈呀 大哥们你们都到什么水平了,做这么难的题目! 看来偶也要再次问点 很难的题目 也来问问各位大哥了!
----------------------------------------------
|
作者: |
|
2003/11/29 21:22:14 |
4楼: |
晕掉。。。这种功能是很难实现么?
----------------------------------------------
夫君子之行,静以修身,俭以养德.非澹泊无以明志, 非宁静无以致远.夫学须静也,才须学也,非学无以广才, 非志无以成学,淫漫则不能励精,险躁则不能治性,年与时驰, 意与日去,遂成枯落,多不接世,悲守穷庐,将复何及!
|
作者: |
bios (阿贡) |
★☆☆☆☆ |
-
|
盒子中级会员 |
|
2003/11/29 21:23:46 |
5楼: |
对偶来说真的很难啊
----------------------------------------------
|
|