社区
PowerBuilder
帖子详情
请问,CLOSEWITHRETURN能够传递一个数据窗口吗,为什么我总是传递不过来啊,很急,请大家帮忙!!
sodeberge
2003-11-24 12:16:27
如题,请高手赐教!
...全文
603
11
打赏
收藏
请问,CLOSEWITHRETURN能够传递一个数据窗口吗,为什么我总是传递不过来啊,很急,请大家帮忙!!
如题,请高手赐教!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sodeberge
2003-11-25
打赏
举报
回复
谢谢大家,我使用ROWSCOPY解决了问题!
fulongbiao
2003-11-25
打赏
举报
回复
定义datawindow变量
marinedalian
2003-11-24
打赏
举报
回复
同意楼上
lmby
2003-11-24
打赏
举报
回复
虽然在两个窗口中各定义了一个相同的DataWindow实例变量,但这变量名其实是一个被PB遮掩得很隐蔽的指针(指针的数据类型就是datawindow),等同于C/C++中的指针,只是指向一个对象,本身并不包括对象数据元。这就有了一个作用域的问题,我们平时直接把它当作对象本身拿来用,在一个作用域内用(比如一个窗口中)一般是没有问题的,但是想跨域(从一个窗口到另一个窗口)传递对象时,PB的麻烦就来了。CloseWithReturn时,PB的Message Object接收的其实也是一个指针,并指向窗口中DataWindow对象的一个复本,但PB在生成DataWindow复本时,并没有把源对象所包含的数据元本身复制过来,原因可能是因为数据是存在于dw控件的缓冲区中,缓冲区(Primary,Delete,Filter)都是一个二维数组,不能直接复制。这和控件的属性值是不太一样的,我们都知道若CloseWithReturn一个Statistic Text控件对象,则接收方可以很方便的获取该控件的各种属性值,比如Text等等。这是PB在CloseWithReturn一个类似于DataStore、DataWindow等对象时需要注意的地方。
一家之言,参考。
另外可变相的解决此问题,方法是设一个全局的DataWindow Buffer来过渡一下,速度非常快。
Thinkinger
2003-11-24
打赏
举报
回复
1:你的closewithreturn的窗口必须是response类型窗口;
2:你接受parms的窗口的方式是:powerobject lpo_object = message.powerobjectparm,且这个语句应该在打开response窗口的open[withparm]()的紧挨之后,否则可能不能顺利接收!
liliang800207
2003-11-24
打赏
举报
回复
学习
zhangdatou
2003-11-24
打赏
举报
回复
大家都很厉害
dotnba
2003-11-24
打赏
举报
回复
lmby(鹿门布衣) 说的不错。
.Net就比较好了,窗口关闭(Close),并不等于(Dispose/DeConstructor)。对于里面的还可以引用。
SnakeFF
2003-11-24
打赏
举报
回复
关注中.........
期待更好的方法!!!!!
GoldProgramer
2003-11-24
打赏
举报
回复
楼上的不是什么好方法。
试试下面的做法:
W_Parent是你的窗口要打开一个W_Popup的窗口。
在W_Parent中打开窗口的代码如下:
DataStore ResultDS;
Open(W_Popup);
ResultDS = Message.PowerObjectParm;
//然后就可以使用了
...
在W_Popup的Close事件中这样写
DataStore OutDS;
OutDS = create DataStore;
//在这里设置你要返回的数据窗口
//例如:仅是一个例子。
// OutDS.DataObject = 'd_User';
// OutDS.SetTransObject(SQLCA);
// OutDS.InsertRow(0);
// OutDS.SetItem(1, 'User_Name', 'User');
//...
CloseWithReturn(this, OutDS);
mittee
2003-11-24
打赏
举报
回复
设置一个全局 DataWindow 变量
PB
数据
窗口
(DataWindow)中
数据
传递
的方法
本文介绍了PB
数据
窗口
(DataWindow)中
数据
传递
的方法,可将
数据
窗口
dw_1的
数据
存入datastore,通过打开或关闭
窗口
传递
。使用rowscopy函数复制
数据
,可复制全量或指定行
数据
,还给出了Openwithpram和
close
with
return
函数的使用示例。
Close
With
Return
函数
本文介绍了
Close
With
Return
函数的功能及用法,此函数用于关闭
窗口
并返回
数据
。文章详细解释了函数参数的意义,展示了如何使用该函数进行
窗口
操作,并提供了两个代码示例。
PB
窗口
使用技巧之
窗口
之间的协作
本文介绍PB
窗口
之间的协作技巧,包括打开和关闭
窗口
时的
数据
传递
,使用OpenWithParm和
Close
With
Return
函数;不同
窗口
间变量或函数调用,但不提倡高耦合方式;还提及信号灯概念,用全局变量实现进程间同步或互斥,如用信号量实现互斥和同步操作。
Close
With
Return
函數使用說明(轉)
本文详细介绍了如何使用
Close
With
Return
函数关闭Response类型
窗口
,并将处理情况返回给打开
窗口
的对象,包括函数作用、语法、返回值及代码实例。
PowerBuilder
1,111
社区成员
66,454
社区内容
发帖
与我相关
我的任务
PowerBuilder
PowerBuilder 相关问题讨论
复制链接
扫一扫
分享
社区描述
PowerBuilder 相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章