#dominoforever | Product Ideas Portal

 

Welcome to the #dominoforever Product Ideas Forum! The place where you can submit product ideas and enhancement request. We encourage you to participate by voting on, commenting on, and creating new ideas. All new ideas will be evaluated by HCL Product Management & Engineering teams, and the next steps will be communicated. While not all submitted ideas will be executed upon, community feedback will play a key role in influencing which ideas are and when they will be implemented.

For more information and upcoming events around #dominoforever, please visit our Destination Domino Page

Make new Lotus Script function "ShellAndWait"

The existing shell functions only call the external target but do not wait for its ending. It runs asynchronous.

Therefore it would be great if there was an additional Script function which wait for the called program to end.

 

Mark Reiser, sirius-net GmbH

  • Avatar32.5fb70cce7410889e661286fd7f1897de Guest
  • Jul 24 2019
  • Needs review
  • Attach files
  • Avatar40.8f183f721a2c86cd98fddbbe6dc46ec9
    Guest commented
    21 May 11:47am

    Why not just use Java? Because using Java on the Notes Client is not a good idea.

  • Avatar40.8f183f721a2c86cd98fddbbe6dc46ec9
    Guest commented
    28 Aug, 2019 01:07pm

    Why not just use Java? This way you also can get the output of the called process and check its error state.

  • Avatar40.8f183f721a2c86cd98fddbbe6dc46ec9
    Guest commented
    30 Jul, 2019 07:56am

    Hi,

    thank you very much for this workaround. It works perfect!

    The problem was that my former workaround, using the functions CreateProcessA and WaitForSingleObject, unfortunately ain´t working anymore under Domino V10.

    However, I´d wisth that there was a native Domino function for this.

    Best regards
    Mark Reiser, sirius-net GmbH

  • Avatar40.8f183f721a2c86cd98fddbbe6dc46ec9
    Guest commented
    25 Jul, 2019 11:11am

    Hi there,

    Was dealing with this problem just yesterday. Take a look at my workaround. Works under Windows.

     

    Declare Function GetProcessVersion Lib "kernel32" (ByVal ProcessID As Long ) As Long

    Private Function WIN32_isProcessRunning( id As Long ) As Boolean
            WIN32_isProcessRunning = Not ( 0 = GetProcessVersion( id ) )
    End Function

     

    Usage:

    Dim processId As Long
    processId = Shellid( {myfile.bat}, 6 )

    Do While WIN32_isProcessRunning( processId )
            Yield
            Sleep 1
    Loop