【问题标题】:Handle - usage in Progress句柄 - 使用中
【发布时间】:2016-09-19 03:39:10
【问题描述】:

进行中的句柄有什么用? 它应该用作数据类型还是对象?请解释句柄与缓冲区的用法。

我遇到了以下带有句柄和缓冲区的行:

ON WRITE OF customer NEW BUFFER new_in OLD BUFFER old_in 
do:
    DEFINE VARIABLE m_obuf_hdl AS HANDLE  NO-UNDO.
    DEFINE VARIABLE m_nbuf_hdl AS HANDLE  NO-UNDO.

    ASSIGN m_obuf_hdl = BUFFER old_in:HANDLE 
           m_nbuf_hdl = BUFFER new_in:HANDLE.
end.

【问题讨论】:

  • 这是一个非常笼统的问题。根据您的示例,再显示几行代码会更容易解释。
  • 你应该描述你的实际问题!

标签: progress-4gl openedge


【解决方案1】:

HANDLE 是一种 ABL 数据类型。 HANDLE 的目的是作为对内置对象类型的引用(指针),例如代码中的 Buffer。您将在 ABL 文档的“缓冲区对象句柄”部分下找到缓冲区的方法和属性。此示例循环遍历缓冲区的所有字段(您的缓冲区 old_in)并输出所有字段:

DEFINE VARIABLE i      AS INTEGER NO-UNDO . 
DEFINE VARIABLE hField AS HANDLE NO-UNDO .

DO i = 1 TO m_obuf_hdl:NUM-FIELDS:
    ASSIGN hField = m_obuf_hdl:BUFFER-FIELD (i).
    MESSAGE hField:NAME hField:BUFFER-VALUE.
END.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-20
    • 1970-01-01
    相关资源
    最近更新 更多