0

我的函数有一个 DataWindowChild 类型的输入参数 adwc。是否有可能以某种方式发现它的 DataObject?没有指向放置 DWC 的 DataWindow 的指针,因此我们不能询问该字段的“dddw.name”。

谢谢!

4

2 回答 2

1

AFAIK,答案是否定的。您可以执行 adwc.Describe("datawindow.syntax") 来获取它的定义(或任何 Describe() 来获取各种属性),或者按照您的建议,您可以修改您的函数以获取父级和访问 dddw.name 的列名。

目标是什么?也许如果我们知道最终游戏,我们可以提出更有价值的建议。

祝你好运,

特里。

于 2013-04-24T18:23:49.863 回答
0

您不应该编写关心 DataWindow 对象名称的代码。有几个原因。

  1. DataWindow 是一个动态对象。DataWindow 控件为数据对象报告的名称是最后一个按名称设置的名称。可以通过 Create 加载一个完全不同的 DataWindow,并且名称不会改变。
  2. 检查 DataWindow 名称的代码很脆弱。假设您的代码正在检查 dddw 是否为d_empd_manager. 当有人创建一个新的经理 dddw 并将其命名时,d_manager_v2您的代码可能会以一种意想不到且令人困惑的方式失败。
  3. 您关心 DataWindow 名称的代码可能会违反One Responsibility等设计原则。

根据 Ursego 的评论添加

对于您的 DataWindow/DataStore,您拥有uf_row_exists(ls_search_expr). 您正在尝试为 DataWindowChild 编写函数,但没有 DataWindow 控件,DataWindowChild 不存在,与 DataWindow 一样。如果添加uf_child_row_exists(ls_column, ls_search_expr)到 DataWindow/DataStore,您将同时拥有父级和子级。

于 2013-04-24T20:36:08.327 回答