我们在应用程序中使用Restart功能来关闭应用程序,并在应用程序在指定的时间段内处于空闲状态时重新打开它。当我们从SDI应用程序调用该函数时,该功能正常工作,但是当我们从MDI调用该函数时,应用程序在重新启动几次后关闭。
在MDI框架中,当函数是第一次触发时,应用程序重启工作正常。当我们将应用程序离开另一个空闲时间并再次触发重启功能时,应用程序就会关闭。它不会崩溃或任何东西,只是关闭。关于如何排除故障并解决问题的任何想法。谢谢。
一种方法是在空闲事件触发后,打开应用程序的新实例然后关闭自己。
这个简单的示例不是为在IDE中运行而设计的。
[PB外部功能声明]
FUNCTION int GetModuleFileNameA(&
ulong hinstModule, &
REF string lpszPath, &
ulong cchPath) LIBRARY "kernel32" alias for "GetModuleFileNameA;ansi"
[在申请公开活动中]
if commandline = "RESTARTED" then
messagebox( "Welcome Back!", "Click to Continue" )
end if
idle(300) // Restart the application if there is no activity for 5 minutes
Open ( w_main )
[在应用程序IDLE事件中]
string ls_ExePathFileName
unsignedlong lul_handle
ls_ExePathFileName = space(1024)
lul_handle = Handle(GetApplication())
GetModuleFilenameA(lul_handle, ls_ExePathFileName, 1024)
run( ls_ExePathFileName + " RESTARTED" )
HALT CLOSE