pb12.6 - 复杂的窗口层次结构 - 错误的运行时错误,错误或错误?

时间:2015-04-30 14:52:01

标签: powerbuilder powerbuilder-build-deploy

您好,

我们在pb 12.6 Build 4035 - Classic上开发我们的产品。现在我们遇到以下问题:

我们有一个复杂的窗口层次结构,每个级别都有一种特殊的功能,并且变得越来越复杂。在最高级别是一个视觉用户项目。这使得实例var到了窗口。如果用户在userobject中执行任何任务,我们会通过实例将操作发送到窗口。 Delevoping - >保存 - >跑步都没关系。 部署之后 BUT 窗口的函数最终会出现错误的运行时引用。在powerbuilder耗尽(仅在部署之后)并运行exe(独立)时会发生此错误。在我们的userobject新保存后,它再次运行。

我们的窗口hierachie:

从最低级别到最高级别

- wo_window(简单窗口,基本功能,如msgbox)

- wo_uni(窗口有正确的系统和更多的功能)

- wo_sheet(窗口可以与数据库通信)

- wo_tab(窗口有一个标签页)

- wo_tab_obj(对象窗口,特殊功能,对象是项目或地址,最高层次结构)

- w_adr(地址的对象窗口)



wo_tab_obj上的

是我们的userobject。 => wo_tab_obj :: open {uo_blaettern_obj.event ue_set_ref(/ * wo_tab_obj awo_tab_obj * / this)}

- >在userobject中,引用存储在iwo_tab_obj

用户对userobject和代码调用启动操作:iwo_tab_obj.get_obj()。get_parameterart()

函数调用get_obj()抛出异常错误的运行时引用。 get_obj()在wo_tab_obj中声明。所以现在我们尝试了一些东西,称为较低层次的功能。这是有效的(也是在编译和运行exe之后)。

异常也会在事件中出现,调用在wo_uni声明的事件。

所以我们认为编译过程中存在一个错误,或者我们做错了什么?

我们不会重新创建我们的窗口层次结构,因为它非常适合我们的任务,我们需要所有这些级别。

1 个答案:

答案 0 :(得分:0)

我怀疑这是编译过程中的一个错误。更可能的情况是编译的P代码中的指针问题...您是否有可能在层次结构中的某处具有循环对象引用?

例如,在wo_tab_obj中的某个地方,您可能会引用某个userobject或NVO类,它本身有一个引用回wo_tab_obj的声明。