在一个frmGreet窗体中用Public strName as string 声明的一个模块级变量,并在窗体运行期间赋值:strName="江苏",在Unload frmGreet 后,msgbox frmGreet.strName,显示为:江苏,这是为什么?

解决方案 »

  1.   

    unload form
    msgbox form.strName
    在你卸载之后重新又初始化了 form,因为你要查看form.strName属性,所以必须初始化它应该是类似如下
    dim o_frm as form
    set o_frm = new frmGreet 
    call o_frm.set_strName
    unload o_frm
    set o_frm = nothing
    这样应用
      

  2.   

    用Public声明的变量,其真正的变量名就是frmGreet.strName,它不同于frmGreet!strName,不依赖frmGreet而存在.
      

  3.   

    在调用msgbox frmGreet.strName时又初始化frmGreet了。
      

  4.   

    strName="江苏"
    你的这条语句应该放在了form1_load上,在你unload form1后,其实你运行语句是还是会在此加载的
      

  5.   

    Unload 只是将界面资源卸载了,窗体对象并没有释放,当然会保留 strName 属性了。