"Operating System Command" type signature

Author: arjen.van.vliet@uniface.com (Arjen van Vliet)

Hi all,

In the process of modernizing a Uniface 7.2.06 application I am currently trying to replace some spawn commands with a signature of the "Operating System Command" type. The one which has the "Command" and "CommandOut" operations.

When I activate the signature i.e.:
activate "OPER_SYS".COMMAND("notepad")

I keep on getting:
status = -1, procerror = 0

Operating system is Windows 2000 5.00.2195 Service Pack 4 (Yep, we have customers still on this OS)

Am I missing something here?

Thanks for thinking with me!

Arjen

4 Comments

  1. Hi Arjen,

    I am not 100% sure,
    but I think in V7 there was a special SEK necessary
    to access "Operating System Command"

    A better way to prepare for modernisation:

    Centralise the spawn commands in a group of global procs (sync, async).
    When you go to higher versions, there is only one place to change the code.

    Success, Uli

     


    Author: ulrich-merkel (ulrichmerkel@web.de)
  2. Thanks, Uli for your quick response.

    I will ask around in "the organization" (i.e. Dirk Jan) if a special SEK is needed. This would indeed explain the negative $status I keep getting back.

    Centralizing the spawn commands before modernization / migration is a good idea indeed.

    Regards, Arjen


    Author: Arjen van Vliet (arjen.van.vliet@uniface.com)
  3. Hi,

     

    Perhaps i don't understand your pb, but you can use ShellExecuteA.

    This is a solution here http://www.uniface-dev.com/pdf/internet_1.pdf

    Best regards,

     

    Jérôme


    Author: Bignon (bignonj@gmail.com)
  4. Hi Jérôme,

    Thank you so much; works like a charm!

    I roughly followed your description in  http://www.uniface-dev.com/pdf/internet_1.pdf, but without the handle (no valid file type in 7.2.0.6).

    It basically comes down to something like : activate "SHELL32".SHELLEXECUTE(0, "open", COMMAND, PARAMS, DEFDIR, 1)

    With this there is no need any more to use an "Operating System Command" type of signature and therefore no need for another SEK. 

    Cheers!

    Arjen


    Author: Arjen van Vliet (arjen.van.vliet@uniface.com)