# Re: 请纪兄再说明一下，谢谢您！

Posted by 纪文和 on July 06, 1999 at 22:53:50:

In Reply to: Re: 请纪兄再说明一下，谢谢您！ posted by 王空空 on July 06, 1999 at 15:24:09:

问题一:

其实可分二种情形:

1. 不需 initial, 或栏位少不影响操作, 不影响结果, 则直接 Hide/Show 即可
2. 需要 initial, (建议最好 UnLoad/Load), 就是某些栏位每次使用时, 可能需给初值, 例如年度/月份啦, Combo 需先选定某一项啦, 表格表头啦, 否则使用者每次操作要作相同动作, 可是会抗议的..., 若不想 UnLoad/Load, 则 Hide 之后, 重 Show 之前, 必须将 Form_Load/Form_Initial 作的动作重复一遍,因为 Hide 之后重新 Show 时并不会再执行 Form_Load/Form_Initial .

问题二:

语法

Set objectvar = {[New] objectexpression | Nothing}

Nothing 为选择性引数。停止 objectvar 和任何特定物件的关连。指定 objectvar 为 Nothing，会在没有其它变数引用时，释放所有与先前物件有关的系统和记忆体资源。

当 objectvar 设定成 FormName 时，会将该 Form 中所有占用记忆体的物件所占用的记忆体通通释放。

虽然有人说 VB 在 Form Unload 时会自动释放记忆体，但是并不是全部!!

就像有人说, VB 程式要 Make EXE 之前最好先结束 VB, 重新载入该 Project 再 Make EXE, 结果执行档会比较小, 为什么 ? 就是少了一些在记忆体中的垃圾 !!

Follow Ups: