以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]自定义函数出错时弹出的messagebox窗口问题?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=119063)

--  作者:ericsky
--  发布时间:2018/5/17 8:45:00
--  [求助]自定义函数出错时弹出的messagebox窗口问题?
在移动客户端的开发中,在HttpRequest事件中的函数如果运行出错,会弹出提示窗口,
造成HttpRequest事件停止运作。
请问:如何屏蔽或者如何设置自动关闭messagebox窗口?谢谢!

--  作者:有点甜
--  发布时间:2018/5/17 9:10:00
--  

1、你就不应该写messageBox的代码,请删除掉那些代码;

 

2、改成output.log等方式记录出错信息,如 http://wechat.foxtable.com:9009/WebHelp/scr/we0008.htm

 

http://www.foxtable.com/webhelp/scr/0435.htm

 

[此贴子已经被作者于2018/5/17 9:10:18编辑过]

--  作者:ericsky
--  发布时间:2018/5/17 9:23:00
--  
回有点甜老师:代码中没有包含messagbox的代码。
在HttpRequest事件中的代码如果包含函数,如果函数运行出错,系统会自动跳出messagebox窗口,
这种错误,在BeforeShowErrorMessage中做了设置也不起作用的,您帮忙看看有办法解决吗

--  作者:有点甜
--  发布时间:2018/5/17 9:24:00
--  

try catch + BeforeShowErrorMessage

 

http://www.foxtable.com/webhelp/scr/2070.htm

 


--  作者:ericsky
--  发布时间:2018/5/17 11:23:00
--  
有点甜老师,我试了下,函数出错的弹窗,捕获不到,这也是很早就发现的问题,
只不过以前是操作端的弹窗,按确认后可以继续使用,
但是现在是无人值守的服务端,弹窗后就卡住了。
您能给个解决代码吗?
谢谢!


--  作者:有点甜
--  发布时间:2018/5/17 12:01:00
--  
以下是引用ericsky在2018/5/17 11:23:00的发言:
有点甜老师,我试了下,函数出错的弹窗,捕获不到,这也是很早就发现的问题,
只不过以前是操作端的弹窗,按确认后可以继续使用,
但是现在是无人值守的服务端,弹窗后就卡住了。
您能给个解决代码吗?
谢谢!

 

弹出的错误的窗口,请截图发上来看看。

 

基本上 try catch + BeforeShowErrorMessage 都可以处理90%以上的错误,除非你执行了一些特殊的代码才会导致的。


--  作者:ericsky
--  发布时间:2018/5/17 15:15:00
--  
回有点甜老师:函数出错弹窗截图如下:

找不到函数:

图片点击可在新窗口打开查看此主题相关图片如下:i(ao~cev{9k0oue(_h96u.png
图片点击可在新窗口打开查看

函数运行出错:

图片点击可在新窗口打开查看此主题相关图片如下:9{ev~jgj4~5wbnpyp0mf5f.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2018/5/17 15:16:24编辑过]

--  作者:有点甜
--  发布时间:2018/5/17 15:39:00
--  

1、找不到xxx函数,是因为你代码写错导致的,你要修改你的代码才行;

 

2、不存在xxx表格,也是你代码写错导致的,同样要修改你的代码;

 

3、这些错误,目前无法屏蔽掉,如果要屏蔽,试试用这种方式 http://www.foxtable.com/webhelp/scr/2713.htm

 


--  作者:ericsky
--  发布时间:2018/5/17 16:20:00
--  
回有点甜老师:
关于您的1、2点,如果发现了,肯定会及时修正的,但是使用中,难免会有网络问题或者代码不周全的情况,
这时候服务端就卡住停止运作了。

关于第3点,ShowAppWindow,是使用于外部程序,用不来啊。

我现在只能用很笨的方法:(messagebox弹窗的时候,是没有活动窗口的,用这个来做判断,重启服务端)
添加一个自动重启的计划任务,代码如下:

Dim frm As WinForm.Form = Forms.ActiveForm
If
frm Is Nothing Then

   Application.restart

End If


希望能有更好的方法来捕获系统messagebox弹窗的方法1

谢谢有点甜老师的指导!


@狐狸爸爸


--  作者:有点甜
--  发布时间:2018/5/17 16:25:00
--  

做一个计划,定时执行下面代码,不同的标题,自己根据实际需要添加。

 

ShowAppWindow("提示", 5)
ShowAppWindow("错误", 5)
ShowAppWindow("版本", 5)