'程序'未找到(293)

问题描述 投票:1回答:2

我正在尝试在apphost上运行一个程序,该程序在localhost上设置。

**'testProc'未找到。 (293)

    DEFINE VARIABLE hndle AS HANDLE NO-UNDO.
    DEFINE VARIABLE tmp AS CHARACTER NO-UNDO.
    CREATE SERVER hndle.

    PROCEDURE testProc:
        DEFINE OUTPUT PARAMETER o_tmp AS CHARACTER INITIAL "HELLO".
    END PROCEDURE.


    hndle:CONNECT ("-AppService AppServiceName-H localhost").
    RUN testProc ON hndle(OUTPUT tmp).


    hndle:DISCONNECT ().
    DELETE OBJECT hndle.
openedge progress-4gl
2个回答
4
投票

您无法在应用程序服务器上运行内部过程。您必须将代码放入其自己的.p文件中并在appserver上运行该文件。 .p必须也可以在appserver的Propath中使用。


1
投票

您正在尝试运行内部过程'testProc',而不是过程文件'testProc.p'。它们必须是两个单独的文件。在您的appserver上创建一个'testProc.p'文件,并将您的逻辑放入其中:

DEFINE OUTPUT PARAMETER o_tmp AS CHARACTER INITIAL "HELLO".

在单独的文件中,输入调用testProc.p的代码:

DEFINE VARIABLE hndle AS HANDLE NO-UNDO.
DEFINE VARIABLE tmp AS CHARACTER NO-UNDO.

CREATE SERVER hndle.
hndle:CONNECT ("-AppService AppServiceName -H localhost").
RUN testProc.p ON hndle(OUTPUT tmp).

hndle:DISCONNECT ().
DELETE OBJECT hndle.

MESSAGE tmp VIEW-AS ALERT-BOX INFORMATION.

请注意,您的调用程序正在运行testProc.p,而不是testProc。运行此代码,您应该收到一条弹出消息“HELLO”。

© www.soinside.com 2019 - 2024. All rights reserved.