PowerBuilder重启函数

时间:2015-11-30 13:50:45

标签: restart powerbuilder

我们在应用程序中使用Restart功能来关闭应用程序,并在应用程序在指定的时间段内处于空闲状态时重新打开它。 当我们从SDI应用程序调用该函数时,函数工作正常,但是当我们从MDI调用函数时,应用程序在重新启动几次后关闭。

在MDI框架中,当第一次触发该功能时,应用程序重启工作正常。当我们将应用程序离开另一个空闲时间并再次触发重启功能时,应用程序就会关闭。它不会崩溃或任何东西,只是关闭。关于如何排除故障并解决问题的任何想法。感谢。

1 个答案:

答案 0 :(得分:1)

一种方法是在空闲事件触发后,打开应用程序的新实例,然后关闭自己。

这个简单的示例不适用于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