简体   繁体   English

是否可以从另一个窗口触发器部分调用窗口过程?

[英]Is that possible to call window procedure from another window trigger section?

I want to write a program for call window procedure from another window trigger section.Let me share my program what i have tried. 我想从另一个窗口触发器部分编写一个用于调用窗口过程的程序。让我分享我尝试过的程序。

DO:
  DEFINE VARIABLE cPartType     AS CHARACTER NO-UNDO.
  DEFINE VARIABLE cSubPartType  AS CHARACTER NO-UNDO.
  DEFINE VARIABLE cAttributeExp AS CHARACTER NO-UNDO.
  DEFINE VARIABLE cOutputQty    AS CHARACTER NO-UNDO.
  DEFINE VARIABLE cOutputExp    AS CHARACTER NO-UNDO.
  DEFINE VARIABLE  cResult      AS CHARACTER NO-UNDO.
  DEFINE VARIABLE  cCheckCase   AS CHARACTER NO-UNDO.

  ASSIGN
  cPartType     = coCombo  :SCREEN-VALUE IN FRAME {&FRAME-NAME}  
  cSubPartType  = fiChar-2 :SCREEN-VALUE IN FRAME {&FRAME-NAME} 
  cAttributeExp = fiChar-3 :SCREEN-VALUE IN FRAME {&FRAME-NAME}
  cOutputQty    = fiChar-4 :SCREEN-VALUE IN FRAME {&FRAME-NAME} 
  cOutputExp    = fiChar-5 :SCREEN-VALUE IN FRAME {&FRAME-NAME}.

  { launch.i   &PLIP        = "'ford/prc/Parts.p'"  
                     &IProc       = "'AddPart'"
                     &PList       = "(INPUT cPartType,
                                      INPUT cSubPartType,
                                      INPUT cAttributeExp,
                                      INPUT cOutputQty,
                                      INPUT cOutputExp,
                                      OUTPUT cResult,
                                      OUTPUT cCheckCase)"
                     &AutoKill    =  YES
                     &OnApp       = 'YES'
                     &PARTITION   = 'ASS'                                                                                                   
   }

END.

Here I can call the procedure from plipp file but i want to call another window procedure from this trigger. 在这里,我可以从plipp文件中调用该过程,但是我想从此触发器中调用另一个窗口过程。 Could you help this case? 你能帮忙这个案子吗?

If the procedure is in the same program, then just 如果过程在同一程序中,则只需

RUN addPart  (INPUT cPartType,
                           INPUT cSubPartType,
                           INPUT cAttributeExp,
                           INPUT cOutputQty,
                           INPUT cOutputExp,
                           OUTPUT cResult,
                           OUTPUT cCheckCase).

Now if that procedure lives in a different program, you'll need a handle to it to run. 现在,如果该过程存在于其他程序中,则需要它的句柄才能运行。 In that case, in the definitions define a handle variable like this 在那种情况下,在定义中定义一个这样的句柄变量

DEFINE VARIABLE myHandle AS HANDLE NO-UNDO.

And in the main block add this code 并在主块中添加此代码

RUN ford/prc/Parts.p PERSISTENT SET myHandle.

Finally, in the trigger, do a 最后,在触发器中,执行

RUN addPart IN myHandle (INPUT cPartType,
                           INPUT cSubPartType,
                           INPUT cAttributeExp,
                           INPUT cOutputQty,
                           INPUT cOutputExp,
                           OUTPUT cResult,
                           OUTPUT cCheckCase).

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM