我正在尝试使用 prowin32 传递多个输入参数。但我无法找到传递多个参数的正确方法。
这是我的 *.p 文件的代码
define input parameter param1 as character no-undo.
define input parameter param2 as character no-undo.
message param1 param2
view-as alert-box.
我正在 proenv 中尝试以下命令
prowin32.exe -p D:\proj\myfolder\sample.p -param "1stValue","SecondValue" -clientlog D:\proj\myfolder\pf\lg.log
我尝试删除输入参数的引号,但仍然收到错误消息
mismatched parameters passed to the routine
使用-param“1stValue,2ndValue”。
在您的代码中,您可以使用:
P1 = entry( 1, session:parameter ).
P2 = entry( 2, session:parameter ).
而不是“定义输入参数...”语句。
您无法解析正在进行的多个参数 只有一个会话:参数 我们用自己的 .p 文件做到了 从会话中调用 .p:parameter
prowin32.exe启动
prowin32.exe -p D:\proj\myfolder\startpgm.p -param "D:\proj\myfolder\sample.p,1stValue,SecondValue" -clientlog D:\proj\myfolder\pf\lg.lo
startpgm.p
DEFINE VARIABLE hCall AS HANDLE NO-UNDO.
DEFINE VARIABLE i AS INTEGER NO-UNDO.
CREATE CALL hCall.
hCall:CALL-NAME = ENTRY(1,SESSION:PARAMETER). /* Datei Pfad */
hCall:NUM-PARAMETERS = NUM-ENTRIES(SESSION:PARAMETER) - 1. // Num-Parameter
IF NUM-ENTRIES(SESSION:PARAMETER) > 1 THEN DO:
DO i = 2 TO NUM-ENTRIES(SESSION:PARAMETER):
// Parameter
hCall:SET-PARAMETER(i - 1, "CHARACTER", "INPUT", ENTRY(i,SESSION:PARAMETER)).
END.
END.
hCall:INVOKE. // Start