如何将一字符转化为窗口对象来调用
数据库中一个字段记录了窗口对象的名称,如字符创为 w_test, 想在另一个地方取出字符串来,进行处理,比如打开字符创对应的窗口 open(...)
现在不想通过字符串相等来判断,请问又其他的办法吗?
就是说,下面的方法已经实现,请问其他的方法:
String ls_temp
...
if ls_temp = 'w_test' then
open(w_test)
end if
问题点数:0、回复次数:10Top
1 楼tuliplangel(开心最重要)回复于 2003-09-03 17:05:49 得分 0
String ls_temp
window lw_window
...
if upper(mid(ls_temp,1,1))="W" then
open(lw_window,ls_temp)
end ifTop
2 楼qqf(我就是我)回复于 2003-09-03 17:28:43 得分 0
同意楼上的Top
3 楼hovoy(热月黑天)回复于 2003-09-03 17:31:02 得分 0
通理。还可以用在控件中Top
4 楼incats(wanyong)回复于 2003-09-03 18:08:33 得分 0
window mywin
open(mywin, "w_test")
Top
5 楼sslarly(云中漫步)回复于 2003-09-03 18:29:46 得分 0
Open(窗口名,“要打开的窗口名”)
OpenSheetWithParm ( sheetrefvar, parameter {, windowtype }, mdiframe
{, position {, arrangeopen } } )
OpenSheet ( sheetrefvar {, windowtype }, mdiframe {, position
{, arrangeopen } } )
楼上的兄弟们说的可以,但假如要调用这个窗口,会找到不到这个窗口的指针
如:window mywin
open(mywin, "w_test")
你假如用w_test.*,系统会报错的!
Top
6 楼guxing(孤星)回复于 2003-09-03 19:56:37 得分 0
同意楼上的Top
7 楼weinfo(笑三少)回复于 2003-09-10 09:39:27 得分 0
String ls_temp
window lw_window
ls_temp = ....
if upper(mid(ls_temp,1,1))="W" then
if isValid(lw_window) then
lw_window.BringToTop = TRUE
else
opensheet(lw_window,ls_temp,w_main,0,Original!)
lw_window.Move(0, 0 )
end if
end if
为何isvalid(lw_window)值永远都是false,窗口列表中也没有。
什么原因?
如何才能做到和open调用的一样的效果吗?Top
8 楼jdsnhan(柳荫凉)回复于 2003-09-10 11:12:40 得分 0
lw_window 从何而来。如果他就是你随意定义的一个变量,那isValid(lw_window)肯定返回false,它没有被实例化,是无效的,这时,if isValid(lw_window) then 没多大的意思;
如果lw_window有可能被实例化,如它是作为参数传递进来,或被赋过值,此时可以用
isvalid(lw_window)去判断。Top
9 楼chrisfy(K.O)回复于 2003-09-10 11:19:47 得分 0
这样试试看
String ls_temp
w_test lw_window
...
if upper(mid(ls_temp,1,1))="W" then
open(lw_window,ls_temp)
end if
Top
10 楼zzutligang(小鸟)回复于 2003-09-10 13:59:15 得分 0
我来晚了!!!
简单的方法
string ls_winname="w_test"
window win
open(win, ls_winname)Top




