一句代码的含义

novice2008 2009-05-11 09:07:43
有个窗口w_dept,里面一个数据窗口dw_dept。
cur_state是个结构

open事件:
dw_dept.settransobject(sqlca)
dw_dept.retrieve()

cur_state = Message.PowerObjectParm
dw_dept.settransobject(sqlca)

string filter
choose case cur_state.state
case "newrecord"
int foundrow
foundrow=dw_dept.insertrow(0)
cur_state.rowno = foundrow
dw_dept.scrolltorow(foundrow)
w_dept=this

最后个w_dept = this是什么含义?
...全文
161 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
永生天地 2009-05-12
  • 打赏
  • 举报
回复
没错,一定是这样用
[Quote=引用 3 楼 kenshu 的回复:]
w_dept = this
多数情况下,是为了防止如

w_dept w_1
open (w_1)

或类似以字符串指定要打开的窗口

加了 w_dept = this 这一句,后面别的地方就可以用,比如 close(w_dept).
[/Quote]
xiaotian_001 2009-05-12
  • 打赏
  • 举报
回复
学习
newease 2009-05-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 kenshu 的回复:]
w_dept = this
多数情况下,是为了防止如

w_dept w_1
open (w_1)

或类似以字符串指定要打开的窗口

加了 w_dept = this 这一句,后面别的地方就可以用,比如 close(w_dept).
[/Quote]

有道理
做梦的猫 2009-05-12
  • 打赏
  • 举报
回复
看来是我想错了,w_dept = this 并不一定是 w_dept = w_dept!
w_dept 是一空的全局变量,但 this 却是 w_dept 自已或其副本的实例指针,只有在正常方式打开 w_dept 时才是“a = a”,而以副本方式打开 w_dept 时就不是“a = a”了。

这的确是充分利用 w_dept 全局变量的一个方法!向 kenshu 兄学习!
kenshu 2009-05-12
  • 打赏
  • 举报
回复
w_dept = this
多数情况下,是为了防止如

w_dept w_1
open (w_1)

或类似以字符串指定要打开的窗口

加了 w_dept = this 这一句,后面别的地方就可以用,比如 close(w_dept).

gjczxl 2009-05-11
  • 打赏
  • 举报
回复
同意二楼的
做梦的猫 2009-05-11
  • 打赏
  • 举报
回复
实际上即是 w_dept = w_dept,w_dept 实际上就是一全局变量,所以本质上就应该是“a = a”;
那么“a = a”有什么意义呢?这相当于:“读内存 a 地址的值到 cpu 的寄存器,再把此 cpu 寄存器的值写入内存的 a 地址”;它的意义在于,系统进行了读写操作,但系统的状态在操作过程中保持不变。

1,072

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧