| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1585 人关注过本帖
标题:上级表单如何给下一级被调用表单传变量值(非全局变量)?
只看楼主 加入收藏
foxprosue
Rank: 2
等 级:论坛游民
帖 子:27
专家分:11
注 册:2021-2-3
收藏
得分:0 
学习
2021-03-02 09:31
强国学习
Rank: 2
等 级:论坛游民
帖 子:58
专家分:19
注 册:2020-4-1
收藏
得分:0 
回复 10楼 吹水佬
自定义了一个表单属性dh,默认值为.F.,改成了0。
一、form1调用form2语句
     do form xjxg1 with 2
        read even
        thisform.refresh
        thisform.edit3.setfocus
二、form2的Init事件
    parameters hh
    this.dh=val(alltrim(transform(hh)))
三、form2的activate事件
    sele qyrq_l1
         n=this.dh
         ?n
         ?type('n')
         go n
         dime g[1,61]
              scatt to g
执行后,n为0.00,类型为N,go n 语句出错,提示超出最大范围。即n未取得do form xjxg1 with 2 的数值2,请问老师,这个问题出在哪里?
2021-03-02 12:55
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
回复 12楼 强国学习
改改试试:
一、form1调用form2语句
     do form xjxg1 with 2
     thisform.refresh
     thisform.edit3.setfocus
二、form2的Init事件
    parameters hh
    this.dh=hh
三、form2的activate事件
    sele qyrq_l1
    go this.dh
    dime g[1,61]
    scatt to g
2021-03-02 14:43
强国学习
Rank: 2
等 级:论坛游民
帖 子:58
专家分:19
注 册:2020-4-1
收藏
得分:0 
回复 13楼 吹水佬
go this.dh 提示语法错误
this.dh 的值是.F.,类型是L
VFP6.0版本

[此贴子已经被作者于2021-3-2 16:56编辑过]

2021-03-02 16:39
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
以下是引用强国学习在2021-3-2 16:39:02的发言:

go this.dh 提示语法错误
this.dh 的值是.F.,类型是L
VFP6.0版本

this.dh的类型可以赋值为数值型
给个表单的示例:
test.rar (2.91 KB)

2021-03-02 22:12
强国学习
Rank: 2
等 级:论坛游民
帖 子:58
专家分:19
注 册:2020-4-1
收藏
得分:0 
回复 15楼 吹水佬
老师您好,请问do form formname with 参数 命令,是不是只能放在按钮command里才能有作用?
我在调用表单1增了个按钮command,里面放入do form xjxg1 with 2测试,点这个按钮,被调用表单2接收到了表单1传过来的2.
但是在grid1的一个text1里的双击事件里放入do form xjxg1 with 2,双击text1时,被调用表单2接收不到表单1传过来的2.
或者是要把text1的某个属性改成和command的属性一样才能传送?
有可能是表单2是从表单1复制过来的原因,我重新建了两个简单的表单来试,在grid1里的text1里do form formname with 参数,另一个表单是可以接收到参数的。

[此贴子已经被作者于2021-3-3 16:42编辑过]

2021-03-03 15:22
radiofan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:11
帖 子:466
专家分:696
注 册:2006-7-30
收藏
得分:0 
以下是引用吹水佬在2021-3-1 14:13:43的发言:

1、在init过程定义的hh是局部变量,init过程结束后就被释放,在执行Activate过程时hh变量不存在。
2、在init过程将hh保存在一个自定义的表单属性,在执行Activate过程时调用。
3、在Activate事件改变记录指针时要注意Activate事件的触发条件,程序运行时有可能会多次触发Activate事件。


3、在Activate事件改变记录指针时要注意Activate事件的触发条件,程序运行时有可能会多次触发Activate事件。  (对的!)
2021-03-05 08:48
radiofan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:11
帖 子:466
专家分:696
注 册:2006-7-30
收藏
得分:0 
表单间传递值,可以公共变量,可以表单添加属性,可以do form formname with …… ,灵活运用。
2021-03-05 08:51
foxprosue
Rank: 2
等 级:论坛游民
帖 子:27
专家分:11
注 册:2021-2-3
收藏
得分:0 
学习
2021-03-08 08:40
快速回复:上级表单如何给下一级被调用表单传变量值(非全局变量)?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.048791 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved