注册 登录
编程论坛 VFP论坛

求教:关于表单间数据传递的问题

yanling48 发布于 2024-11-23 11:44, 1012 次点击
具体步骤为:
1、打开b1;
2、单击[从b2输入]打开b2;
3、单击[输入到b1]将数据传递到b1的Text1里。

问题:
1、用菜单(命令)打开b1可以正常运行;
2、用菜单(过程)打开b1,运行不正常;
3、用表单按钮打开b1,运行不正常;
4、先用用菜单(命令)打开b1一次并关闭后,无论用何方式操作都显示正常。

环境:WIN7+VFP 6.0

搞不清楚是为何?请大家看下问题出在哪?要如何解决。

只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
9 回复
#2
nbwww2024-11-23 16:10
B1   init  中定义一下
PUBLIC b1
b1=this
只有本站会员才能查看附件,请 登录
#3
laowan0012024-11-23 17:01
do form b1 with 参数列表

表单b1的init中首句加上lpara 参数列表
这样可以在表单之间传递数据
#4
yanling482024-11-23 17:21
回复 2楼 nbwww
你这个方法可行,谢谢!
#5
yanling482024-11-23 17:25
回复 3楼 laowan001
请问下参数列表具体怎么写?
“do form b1 with 参数列表”这句命令是写在菜单里吗?
能给详细说明下吗?
#6
laowan0012024-11-23 21:57
以下是引用yanling48在2024-11-23 17:25:32的发言:

请问下参数列表具体怎么写?
“do form b1 with 参数列表”这句命令是写在菜单里吗?
能给详细说明下吗?

举例
do form b1 with '123','abd',this.text1.value

表单b1.init
lpara xvar1,xvar2,xvar3
* 这里可以把3个参数分别保存起来
#7
yanling482024-11-24 10:57
以下是引用laowan001在2024-11-23 21:57:23的发言:


举例
do form b1 with '123','abd',this.text1.value

表单b1.init
lpara xvar1,xvar2,xvar3
* 这里可以把3个参数分别保存起来


还是无法理解,[do form b1 with '123','abd',this.text1.value]这段代码写在哪?我把它写在表单xt的按钮里运行出错【不能识别的成员TEXT1。】。

能从我的附件里直接修改下发给我看看吗?
#8
yanling482024-11-24 14:05
只有本站会员才能查看附件,请 登录
问题已解决,谢谢各位回复,现将参数列表的分享在附件24!
关于参数列表的方法:
1、将表单b1的command1.click()改为:
DO FORM b2 WITH THISFORM

2、表单b2新建属性 oparent
表单b2的Init:
LPARAMETERS rr1  
THISFORM.oparent = rr1 &&oparent为表单b2新建的属性


表单b2的command1.click():
THISFORM.oparent.text1.value = thisform.text1.value
thisform.release

运行功能一切正常。

#9
laowan0012024-11-24 21:21
以下是引用yanling48在2024-11-24 10:57:51的发言:



还是无法理解,[do form b1 with '123','abd',this.text1.value]这段代码写在哪?我把它写在表单xt的按钮里运行出错【不能识别的成员TEXT1。】。

能从我的附件里直接修改下发给我看看吗?


比如放在某个按钮的click中
do form b1 with '123','abd',thisform.text1.value
三个参数都是示例,最后一个写的有误,改成上面这样。三个参数都是把值传递给表单
参数个数根据需要确定,被执行表单的init中的参数个数不能多于传递的参数个数
#10
hsfisher2025-06-21 00:01
学习了
1