# Re: 非常感谢您！练习过了！为确定使用正确请告知......

Posted by Fai on August 13, 1999 at 14:11:36:

In Reply to: 非常感谢您！练习过了！为确定使用正确请告知...... posted by 新手 on August 13, 1999 at 12:09:51:

: : : 请问 Dim F1 as form1, Dim F2 as form2要在何处宣告？我试过了，好像只有在一般模组中用Public才不产生错误。另外如原程式码中的form1.show or form2.hide等等是否要改成F1.show or F2.hide？还是保持原名仍不会产生不可预期的错误？

: : The method to declare form is wrong!
: : If you want declare some variable to use, you should declare as follow:
: : Dim F1 as Form
: : Dim F2 as Form

: : The following code is set the value of F1,F2.
: : If the value is object, that you must add "Set" at the front of declaration
: : Set F1=form1
: : set F2=form2

: : Then, you can use
: : F1.show
: : F2.show

: : if you only want to show Form1 or Form2, then you no need
: : to declare, just use
: : Form1.show
: : Form2.hide
: : is OK
: 感谢您！我试了以下方法：

: 若在每一form之一般宣告区宣告
: Dim F1 as form，Dim F2 as form
: 在form1_load中Set F1=form1
: 在form2_load中Set F2=form2
: 在form1_Unload中
: Unload F2
: set F2=Nothing
: .
: .
: 这Unload F2会产生错误讯息[变数未定义]。
: --------------
: 在一般模组 Public F1 as form, Public F2 as form
: 在form1_load中Set F1=form1，在form2_load中Set F2=form2
: 在form1_Unload中
: Unload form2
: set F2=Nothing
: Unload me
: set F1=Nothing
: 中断模式时游标提示显示<没有设定物件变数或With区块变数>，而一般模组宣告之F1游标提示显示为[Nothing]， 但程式仍可执行Unload，请问哪里错了？该如何解决？
: ------------------
: 但若是：
: 在form1_Unload中
: Unload F2
: set F2=Nothing
: Unload me
: set F1=Nothing
: 就在Unload F2上产生错误讯息[没有设定物件变数或With区块变数]，F2不就是form2吗？
: ----------------------
: 1)每个From之宣告如Dim F1 as Form该在哪里？是在每个Form之一般宣告还是在一般模组？
: 2)每个From之Set F1=form1等这程式码该写在哪里？form_Load？
: 3)以上宣告和设定后，F1是否就等于form1？在程式码中用F1或form1都一样？其他form亦然？为何会产生错误讯息？功力不够请多指点，谢谢！

为什么您一定要宣告Form呢?
例如您的"Form Name"是叫"Form2",您只需要这样做就可以
Private Sub Form1_Unload()
Unload Form2
End Sub

Follow Ups:

- 因为是在练习各种方法，并不是一定要这样宣告。谢谢！ 新手 22:09:11 8/13/99 (0)