关于VFP6的从表单中继续运行下一个表单

chomb 2000-09-02 11:46:00
各位大侠:
我在从一个表单中继续运行下一个表单时,对上一个表单用了release thisform语句,但在下一个表单运行时上一个表单并示擦除,但从运行情况看事实上该表单事实上已经被从内存中释放,这是怎么回事?请指点!(用thisform.release也不行)
...全文
331 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
violing 2000-09-05
  • 打赏
  • 举报
回复
我已经E-Mail给你了,请查收
chomb 2000-09-04
  • 打赏
  • 举报
回复
有一个问题:若表单A又满足条件S1呢?
chomb 2000-09-04
  • 打赏
  • 举报
回复
有一个问题:若表单A又满足呢?
violing 2000-09-04
  • 打赏
  • 举报
回复
第一种情况:
do form 表单A to s1
if s1
do form 表单B
do form 表单A
endif

第二种情况可以以此类推,不知是否满足你要求,请回答
violing 2000-09-04
  • 打赏
  • 举报
回复
你好,我的OICQ:7267328,我马上就来...
chomb 2000-09-04
  • 打赏
  • 举报
回复
to violing:Thanks.我正在线.我的OICQ:12771768。也许它更方便。
violing 2000-09-04
  • 打赏
  • 举报
回复
To chomb:你现在在吗?
chomb 2000-09-04
  • 打赏
  • 举报
回复
violing:你说的是。表单A与表单B有联系,其它表单关联不大。
chomb 2000-09-04
  • 打赏
  • 举报
回复
rongle:那这样岂不是一个表单也没被释放,全存在于内存中。
另外:表单A中控件M的数据源(一个数据库中的表)在表单运行后要更新。
(用法为:控件M.requery)
violing 2000-09-04
  • 打赏
  • 举报
回复
To chomb: 很抱歉,不能理解你的意思(你的括号有歧意)。

我猜是不是这个意思:

第1句:执行表单A,如果符合条件S1,就执行表单B,然后再执行表单A
第2句:执行表单A,如果符合条件S2,就执行表单C,然后,若符合条件S3若就再执行表单A,否则,若符合条件S4则执行表单D

另外有疑问的是,你提到的各判断条件Sn与前一表单的执行有无联系?

我用VFP有几年了,也遇到过很多问题,相信能解决你的问题,希望你能把问题说得清楚点。

等待你的回答。如果你现在在线的话,我现在就等着你...

rongle 2000-09-04
  • 打赏
  • 举报
回复
若符合条件S1则在表单A的退出按钮控件中的运行表单B,表单B的activate事件开始处加入:
表单A.visible=.f.
在表单B的unload事件中加入:
表单A.visible=.t.
同理若符合条件S2则在表单A的退出按钮控件中的运行表单C,表单C的activate事件开始处加入:表单A.visible=.f.
在表单C的unload事件中:
若符合条件S3则表单A.visible=.t.
若符合条件S4则DO FORM 表单D
chomb 2000-09-04
  • 打赏
  • 举报
回复
表单A-->表单B(若符合条件S1)-->表单A
表单A-->表单C(若符合条件S2)-->表单A(若符合条件S3)或表单D(若符合条件S4)
violing 2000-09-04
  • 打赏
  • 举报
回复
分支及回调表单是怎样的,愿闻其详...
chomb 2000-09-04
  • 打赏
  • 举报
回复
但我的上一级表单确实已不需要,我是在表单的unload中运行下一个表单的,即已从内存中释放了表单,但由于要进行分支及回调表单,故不好建主程序分别运行。
rongle 2000-09-03
  • 打赏
  • 举报
回复
violing所说的是两个没有调用关系的表单,如果是从一个表单的commandbutton中运行下一个表单时,且不想在下一表单运行时显示该表单,则建议去掉该表单的commandbutton中的release thisform,在下一表单的activate事件开始处加入:该表单名.visible=.f.语句即可。

violing 2000-09-03
  • 打赏
  • 举报
回复
原因:因为你在本表单的事件语句中去do form,也就是本表单的事件尚未执行完,即使你用release thisform也不能结束本表单的事件从而来卸载本表单。
方法:建立主程序,用程序行do form <本表单>,然后do form <下一个表单>。如果两个表单之间有结果和参数传递,那么在前一表单执行语句中用to 子句接收结果,在后一表单执行语句中用 with 子句传入参数。并在表单的init事件中建立接收参数。

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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