以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  vars变量问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=78537)

--  作者:lzzhx
--  发布时间:2015/12/11 0:51:00
--  vars变量问题
请教老师:为了试验vars变量的用法,我在项目事件BeforeOpenProject 和BeforeSaveProject  中分别写了如下代码

在项目事件  BeforeOpenProject 中写如下代码

Vars("网络状态") = True
MessageBox.Show("网络状态1 = " & Vars("网络状态") ,"提醒",MessageBoxButtons.OK,MessageBoxIcon.Error)


在项目事件  BeforeSaveProject  中写如下代码:
MessageBox.Show("网络状态2 = " & Vars("网络状态") ,"提醒",MessageBoxButtons.OK,MessageBoxIcon.Error)
If Vars("网络状态") = False \'如果网络不通,禁止保存项目
    e.Cancel=True
    Dim Result As DialogResult
    Result = MessageBox.Show("网络不通,不能保存项目!" & vbcrlf & " 点击【是】按钮退出系统," & vbcrlf & " 点击【否】按钮等待网络恢复正常", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    If Result = DialogResult.Yes Then
        Syscmd.Project.Exit(False)
    Else
        e.Cancel=True
        Return
    End If
End If

执行结果 :

  网络状态1 = true
  网络状态2 =

也就是说先给  Vars("网络状态")  变量赋值后,值又没有了,请问是什么原因?





--  作者:Hyphen
--  发布时间:2015/12/11 8:39:00
--  
BeforeOpenProject 时项目包括全局变量等还没有初始化,这是赋值是无效的。

改到AfterOpenProject事件中

--  作者:大红袍
--  发布时间:2015/12/11 9:22:00
--  

用Public变量吧

 

http://www.foxtable.com/help/topics/1842.htm

 


--  作者:lzzhx
--  发布时间:2015/12/11 11:21:00
--  
谢谢