从另一个文件调用过程

san*_*der 2 progress-4gl openedge

我正在尝试调用另一个文件的过程。到目前为止我得到的结果是一个错误:

测试文件

DEFINE VARIABLE tmp AS CHARACTER.
      RUN sumWords.p(INPUT "Hello", INPUT "World", OUTPUT tmp).
DISPLAY tmp.
Run Code Online (Sandbox Code Playgroud)

sumWords.p

 PROCEDURE sumWords:
        DEFINE INPUT PARAMETER i_firstWord AS CHARACTER.
        DEFINE INPUT PARAMETER i_secondWord AS CHARACTER.
        DEFINE OUTPUT PARAMETER o_returnWord AS INTEGER. 

        o_returnWord = i_firstWord + i_secondWord.
    END PROCEDURE.
Run Code Online (Sandbox Code Playgroud)

test.p 将参数传递给 sumWords.p,它没有期望任何。(1005)

Mik*_*ner 6

您已经在“sumWords.p”中创建了一个内部过程“sumWords”。sumWords.p 确实不需要参数。

要么更改 sumWords.p 并删除行PROCEDURE sumWords:END PROCEDURE.

这样 sumWords.p 需要参数。

或更改呼叫者:

DEFINE VARIABLE hSumWords AS HANDLE NO-UNDO.

RUN sumWords.p PERSISTENT SET hSumWords. 

RUN sumWords IN hSumWords (INPUT "Hello", INPUT "World", OUTPUT tmp).

DELETE OBJECT hSumWords.
Run Code Online (Sandbox Code Playgroud)