2 gbbweb123 gbbweb123 于 2013.12.16 08:21 提问

PB 使用变量打开窗口后,其中的控件如何被其他窗口调用?

虚心请教:
用以下方法打开了一个窗口es_sys_users
window win
string ls_winname
ls_winname='es_sys_users'

if isValid(win) then
win.show()
win.windowstate=normal!
else
open(win,ls_winname,w_main)
end if

以上代码打开窗口正常,该窗口中有一个数据窗口dw_1, 但是在另一个窗口中使用
es_sys_users.dw_1.insertrow(0) 访问该控件时,系统报错,提示没有指向的对象,请问如何解决,谢谢

1个回答

lzp_lrp
lzp_lrp   Ds   Rxr 2014.11.11 09:04
已采纳

当然会报错,因为你是需要引用window win这个变量才可以,win.dw_1.insertrow(0)

es_sys_users.dw_1.insertrow(0) 只有你通过open(es_sys_users)之类的打开才可以引用

你可以把window win定义成一个实例变量,或者全局变量,这样引用比较方便,如果打开多个窗口,可以使用数组,如window win[]

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
pb中窗口的打开和关闭
Close()功能关闭窗口并释放窗口以及窗口上的控件所占据的内存。语法Close(windowname)参数windowname:要关闭窗口的名称返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果参数windowname的值为NULL,Close()函数返回NULL。用 法应用程序使用Open()或其它Open簇函数打开窗口后,不需要窗口时,可以使用Close()关闭窗口并释放窗口以及窗口上所有控件占据的内存。 Close()函数的执行过程为:如果要关闭窗口的CloseQuery和/或
PB窗口开启与关闭事件
 一、开始事件: Open事件和Activate事件   这两个事件非常类似,它们都可在窗口打开时发生。因为窗口打开时,窗口必然激活。但是激活是指当前这个窗口起作用。当前打开的窗口可能有多个,但处于激活的窗口只有一个,所以,Activate事件比Open事件发生的范围要大。     二、结束事件: Clos事件、Deactivate事件与CloseQuery事件      
PB中如何动态打开一个窗口?
Window lw_ref String ls_winname, ls_parm Open(lw_ref, ls_winname) OR OpenWithParm(lw_ref, ls_parm, ls_winname OR OpenSheet(ls_ref, ls_winname, ParentWindow, 0, Original!) OR OpenSheetWithP
PB窗口使用技巧之窗口之间的协作
在打开和关闭窗口时进行数据传递    在应用程序中,有时一个任务要分解成几个部分,由多个窗口来协同完成,这就需要这些窗口之间能够很好地配合。例如,在检索大批量数据时,可以提供一个小窗口让用户随时停止数据检索,并能在该小窗口中显示检索的进度。如果在一个窗口中显示关于职工的简短描述信息,用户双击某职工数据时可以显示该职工的详细情况,等等,这些例子都涉及窗口之间的协作。本节介绍有关的函数和技巧。
如何在PB中制作特殊形状数据窗口或按钮介绍
在 CSDN 上,经常有朋友问到不规则窗口或者不规则的按钮如何制作,在这里我介绍 几个比较常用的 API 函数,来实现不规则窗口或者不规则按钮的制作。 一、先看一下效果: 点击一下圆形花边按钮,效果如下: (蓝色的为桌面) CSDN 社区电子杂志—POWERBUILDER 杂志创刊号 二、下面我介绍一下程序中主要用到的几个 API 函数: 1. 创建一个圆角矩形 CreateR
c#调用其他窗体中的变量或函数
因项目需要,程序中有一个主窗体,多个子窗体。用主窗体的按钮来打开子窗体。 1.右键解决方案资源的项目名称,添加需要的子窗体 2.主窗体添加变量用于初始化子窗体 public System.Windows.Forms.Form fcomm;//串口设置窗口 初始化时把this传进去 3.为子窗口添加对应的构造函数         private Form1 form1;//使用form1
PB窗口使用技巧
[PB]-窗口使用技巧 **在打开和关闭窗口时进行数据传递 OpenWithParm(windowvar,parmeter{,parent}) 其中windowvar是要打开的窗口名称,可以是window画板中定义的窗口,也可以是脚本中定义的窗口变量;parameter是要传递的参数,只能是String,Numeric或者PowerObject类型,该参数根据类型保存在Message的成员变
PB窗口基础
[PB]-窗口基础 window对象 【其他】 ■窗口画板的定制:Design-Options ■窗口类型:Main(可以使用菜单)、Child(不能使用菜单)、Response(如messagebox函数弹出的窗口,继续执行程序之前必须对其做出响应;不能使用菜单)、Popup(可以使用菜单)、MDI(必须有菜单)、DIHelp(必须有菜单) 【属性】 代码中修改属性:窗口名称
C# 窗体中一个类中调用另一个窗体的控件或方法
设有form1和from2,假如form1调用form2的控件,在form1的代码窗口定义一个form2的对象,把你想要调用的form2的控件的属性Modifier改为Publlic就可以在form1的窗体调用了。 一种是创建窗体对象的方式,通过对象调用控件或方法 。 例如: Form2 frm2 = new Form1(); frm2.Button; //调用控件 frm2.Met
PB窗口居中的实现方法
PB窗口居中的实现方法         在PB中,如何使打开的窗口在屏幕中居中显示呢?现在用得多的有以下两种 (1)直接使用PB窗口中的center属性(PB9及以上版本才有该属性)。这种方法最为简单,但是明眼人都可以看出问题来:窗口上下并没有真正的居中,窗口被过分的往上抬了。 (2)为了解决这个问题,大多数程序中都使用自定义的函数来实现窗口居中,实现方法无非就是先获取屏幕宽度及