【问题标题】:Accessing the methods of a preprocessor name dataset in Progress 4GL在 Progress 4GL 中访问预处理器名称数据集的方法
【发布时间】:2014-06-19 11:40:22
【问题描述】:

我正在尝试访问正在进行中的数据集的方法,其中数据集被定义为预处理器项。我只是在学习 4GL……也许这根本不可能?这是代码中的场景:

/*My Procedure*/
{Receipt/Receipt_ds.i}

def var hReceipt as handle no-undo.
def var hDataSet as handle no-undo.

run Receipt/Receipt.p persistent set hReceipt.
run GetData in hReceipt ({&input-output_dataset_ReceiptDataSet}).
/* do some stuff */

/* get the handle to the dataset???  Obvious syntax issue here. */
hDataSet = DATASET {&input-output_dataset_ReceiptDataSet}:HANDLE.

/* Empty the DataSet (this is what I want to do)*/
hDataSet:EMPTY-DATASET().

这是我的包含文件:

/*Receipt/Recipt_ds.i*/
define dataset ReceiptDataSet for
ttRcvHead,
ttRcvDtl,
data-relation for ttRcvHead, ttRcvDtl relation-fields(
stuff, stuff
).
&global-define input-output_dataset_ReceiptDataSet input-output dataset ReceiptDataSet

显然我的代码没有我评论中提到的正确语法。有谁知道这样做的正确方法是什么?

【问题讨论】:

    标签: dataset preprocessor progress-4gl openedge


    【解决方案1】:

    这件作品:

       hDataSet = DATASET {&input-output_dataset_ReceiptDataSet}:HANDLE
    

    正在这样做:

       hDataSet = DATASET input-output dataset ReceiptDataSet:HANDLE 
    

    这不像你所看到的那样工作。您需要改为使用此表单:

       hDataSet = DATASET ReceiptDataSet:HANDLE 
    

    如果你放一个

       &GLOBAL-DEFINE pdsName ReceiptDataSet
    

    在你的包含文件中,然后在适当的地方引用它,那么这个构造就可以工作了:

       hDataSet = DATASET {&pdsName}:HANDLE
    

    【讨论】:

      【解决方案2】:

      对于初学者,您需要在尝试使用它之前定义一个预处理器。

      不在文件末尾。

      接下来想到的是为什么?你为什么要为此目的使用预处理器?这显然不是为了让代码更短或更容易理解。一个原因可能是因为您的代码 sn-p 是某种通用模板,但这里似乎并非如此。

      【讨论】:

      • 由于他只被允许有一页的问题,我推断这条评论 /*Receipt/Recipt_ds.i*/ 意味着他在另一个同名的文件中有预处理器的东西,即然后在他的主程序的顶部引用。
      • 我从表面上看代码,他在代码示例的底部明确定义了它。如果包含文件的内容很重要,则应将其公开。
      • “只允许有一页”是什么意思,为什么它会相关?您可以在一个问题的文本中包含多个代码块——如果它们都重要的话,这将是一种显示两段代码的简单方法。
      • 我猜 OP 不知道这一点,所以我编辑了问题以明确区分
      猜你喜欢
      • 2021-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-20
      • 1970-01-01
      • 2012-09-24
      • 1970-01-01
      • 2014-02-23
      相关资源
      最近更新 更多