vfp 上层表单ENABLED设置问题
在VFP设计环境中,运行通过!比如在表单1中的:thisform.endbled=.f.DOFORM表单2在表单2的UNLOAD中:表单1.enabled=.t.编译EX...
在VFP设计环境中,运行通过!比如在表单1中的:
thisform.endbled=.f.
DO FORM 表单2
在表单2的UNLOAD中:
表单1.enabled=.t.
编译EXE后运行出错:找不到对象表单1
不编译在VFP中运行正常! 展开
thisform.endbled=.f.
DO FORM 表单2
在表单2的UNLOAD中:
表单1.enabled=.t.
编译EXE后运行出错:找不到对象表单1
不编译在VFP中运行正常! 展开
2个回答
展开全部
表单1的启动应加参数:do form 表单1 NAME VarName [LINKED],然后再引用变量,请参照如下内容:
运行一个用表单设计器创建的、编译过的表单或表单集。
DO FORM FormName | ? [NAME VarName [LINKED]] [WITH cParameterList]
[TO VarName] [NOREAD] [NOSHOW]
参数
FormName指定要运行的表单或表单集的名称。
?
显示运行(Do)对话框,从中选择要运行的表单或表单集。
NAME VarName
[LINKED]
指定一个用来引用表单或表单集的内存变量或数组元素。如果指定的内存变量不存在,Microsoft Visual FoxPro
将自动创建它。如果指定一个数组元素,则在执行 DO FORM 之前,该数组必须存在。如果指定的内存变量或数组元素已经存在,则改写原有内容。如果省略 NAME
子句,则 Visual FoxPro 创建一个与表单或表单集文件同名的对象型内存变量。包含 LINKED
可用来连接表单到相关联的内存变量,当变量超出作用域时释放表单。如果没有包含 LINKED,即使没有与表单相关联的内存变量,表单仍可以是活动的。
WITH
cParameterList
指定传递到表单或表单集的参数。运行表单集时,如果表单集的 WindowType 属性设置为 无模式(0) 或 模式(1),参数就传递给表单集的 Init
方法。如果表单集的 WindowType 属性设置为 读(2) 或 读模式(3) ,参数就传递给 Load 方法。
TO VarName
指定存放表单返回值的变量。如果变量不存在,Visual FoxPro 自动创建它。可在表单的 Unload 事件过程中使用 RETURN
命令来指定返回值。如果不包含返回值,则返回默认值真(.T.)。如果要使用 TO,表单的 WindowType 属性必须设置为1 (模式)。如果表单的 Init
事件过程返回了.F.,则防止开始表单实例,Unload 事件过程将不返回值到 VarName。
NOREAD
指定创建并显示表单集,但在执行 READ 前不激活控件。如果表单集对象的 WindowType 属性没有设置为 2 (读),则忽略 NOREAD。
NOSHOW
指定在运行表单时,不调用表单的 Show 方法。当包含 NOSHOW 并运行表单时,直到表单的 Visible 属性设置为真(.T.)或表单的 Show
方法被调用,表单都是不可见的。
说明
DO FORM 执行表单或表单集的 Show 方法。
WindowType 属性的 读(2) 或 读模式(3) 设置是为了向后兼容性,而且只能用于转换来自早期 FoxPro
版本的表单。
运行一个用表单设计器创建的、编译过的表单或表单集。
DO FORM FormName | ? [NAME VarName [LINKED]] [WITH cParameterList]
[TO VarName] [NOREAD] [NOSHOW]
参数
FormName指定要运行的表单或表单集的名称。
?
显示运行(Do)对话框,从中选择要运行的表单或表单集。
NAME VarName
[LINKED]
指定一个用来引用表单或表单集的内存变量或数组元素。如果指定的内存变量不存在,Microsoft Visual FoxPro
将自动创建它。如果指定一个数组元素,则在执行 DO FORM 之前,该数组必须存在。如果指定的内存变量或数组元素已经存在,则改写原有内容。如果省略 NAME
子句,则 Visual FoxPro 创建一个与表单或表单集文件同名的对象型内存变量。包含 LINKED
可用来连接表单到相关联的内存变量,当变量超出作用域时释放表单。如果没有包含 LINKED,即使没有与表单相关联的内存变量,表单仍可以是活动的。
WITH
cParameterList
指定传递到表单或表单集的参数。运行表单集时,如果表单集的 WindowType 属性设置为 无模式(0) 或 模式(1),参数就传递给表单集的 Init
方法。如果表单集的 WindowType 属性设置为 读(2) 或 读模式(3) ,参数就传递给 Load 方法。
TO VarName
指定存放表单返回值的变量。如果变量不存在,Visual FoxPro 自动创建它。可在表单的 Unload 事件过程中使用 RETURN
命令来指定返回值。如果不包含返回值,则返回默认值真(.T.)。如果要使用 TO,表单的 WindowType 属性必须设置为1 (模式)。如果表单的 Init
事件过程返回了.F.,则防止开始表单实例,Unload 事件过程将不返回值到 VarName。
NOREAD
指定创建并显示表单集,但在执行 READ 前不激活控件。如果表单集对象的 WindowType 属性没有设置为 2 (读),则忽略 NOREAD。
NOSHOW
指定在运行表单时,不调用表单的 Show 方法。当包含 NOSHOW 并运行表单时,直到表单的 Visible 属性设置为真(.T.)或表单的 Show
方法被调用,表单都是不可见的。
说明
DO FORM 执行表单或表单集的 Show 方法。
WindowType 属性的 读(2) 或 读模式(3) 设置是为了向后兼容性,而且只能用于转换来自早期 FoxPro
版本的表单。
展开全部
先问一下,你设的是表单集还是单个表单,如果是表单集,要把表单集的NAME写上,即:
表单集1.表单1.ENABLED=.T.
这样引用会解决问题
如果不是表单集,出错可能有几种:
表单1未打开,无法找到;
表单1被RELEASE了,没在内存中,找不到
如果你想从一个表单中引用另一个表单,并且用完后再回到原表单,不论传没传参数,都可以使用表单集来完成,这样两个表单引用和切换很方便,有时可以将表单1隐藏,显示表单2,也可以显示表单1,隐藏表单2,不会出现上述问题。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询