疫情反复无常,1月8号、2月2号买了车票上北京都被劝回不给进京,只好呆在家练练手。
图片附件: 游客没有浏览图片的权限,请
登录 或
注册
程序代码:
cDefPath = ADDBS(JUSTPATH(SYS(16)))
SET DEFAULT TO (cDefPath)
#define MY_ERROR 0x401 && 自定义消息
DECLARE long AddException IN errdbg long,string@,long,long
DECLARE long RemoveException IN errdbg
DECLARE long GetException IN errdbg long
DECLARE long strlen IN msvcrt long
** AddException(nType, cOutFile, hWnd, uMsg) 注册异常处理
** 参数:
** nType ..... 0->全部忽略跳过,1->提示选择中止、重试、忽略
** cOutFile .. 输出异常信息的文件名,为空不输出
** hWnd ...... 接收异常信息的窗口句柄,为 0 不接收
** uMsg ...... 发送异常信息的用户自定义消息,为 0 不发送
AddException(1, cDefPath+"errinfo.txt", _screen.hWnd, MY_ERROR)
oErr = CREATEOBJECT("CError")
BINDEVENT(_screen.hWnd, MY_ERROR, oErr, "onError")
SYS(1079,1)
? 1111
fun1()
RemoveException() && 注销异常处理
CLEAR ALL
RETURN
FUNCTION fun1()
SYS(1079,1)
? 2222
fun2()
ENDFUNC
FUNCTION fun2()
SYS(2600,0,1," ")
? 3333
ENDFUNC
DEFINE CLASS CError as Session
PROCEDURE onError(hWnd,Msg,wParam,lParam) && wParam指向EXCEPTION_RECORD结构的指针
nCode = CTOBIN(SYS(2600,wParam,4),"4RS")
pMsg = GetException(nCode)
? TRANSFORM(nCode,"@0"), SYS(2600,pMsg,strlen(pMsg))
FOR i=1 TO PROGRAM(-1)-1
? SPACE(i),PROGRAM(i)
ENDFOR
**QUIT
ENDPROC
ENDDEFINE
[此贴子已经被作者于2022-2-3 19:44编辑过]