精简VB程序经验谈 赵玉勇 2001年 36期 能用尽量少的东东,解决尽量多的问题,这是我们刚开始编程时的一个梦想;在同样的问题中,让我们的文件变得更小而又不影响我们的使用和理解。这样做,有时对我们的编程是十分有意义的,文件要传输,要在外部传播,要在运行时加载和读取,这和文件大小密切相关,可以这么说,对文件大小的优化,有时更能提高我们的效率。   如何减少代码的行数,避免程序出现不必要的资源消耗,以下几点对初学者来说较为重要,应当适当注意:   #11.减少加载窗体的数目   每增加一个窗体,无论大小与否,是否加载,都要占有一定数量的内存。我们可以在实际工作中遵循以下原则,只在需要显示窗体时才加载,不再需要时就卸载它,而不仅仅是隐藏或最小化。这就需要我们在调用时注意对窗体属性、控件和方法的引用。   卸载窗体时我们一般使用UnLoad方法,其实这样只能释放部分窗体所占空间。要释放所有空间,可使用“Set Form=Nothing”语句。   #12.慎用控件   在控件的使用上应当把握如下原则:在同一控件数目较多时,尽量采用数组形式。大家不妨做如下的例子:使用12个文本框控件的窗体编译EXE文件,大小约20K字节,但将这些文本框控件用数组的形式完成只有16K,可节约25%的代码。这可不是个小数目。再者要根据程序的特点,尽量选择占有空间较小的控件,如果可以用标签控件来解决,尽量不要用文本框解决。因为VB中的各种控件大小不一,但它们有一些特性是相同的,在使用时,我们要选择那些功能相对少,但对解决我们的问题却绰绰有余的控件。   #13.将数据保持在磁盘文件或资源中,必需时再进行加载   设计时直接放入应用程序的数据,将增加运行时应用程序占用内存。运行时从磁盘文件或资源文件中加载数据可减少占用内存。这对大位图和字符串特别有价值。   我们要将应用程序中的全部文本和位图收集到一起,形成资源文件,将其通过“资源编辑器”放在程序中,运行时,调用资源文件中的各种数据。   #14.慎用Variant数据类型   Variant数据类型是一个非常灵活有用的数据类,但它也有自己致命的弱点,所占内存大。当要压缩应用程序多余的空间时,应考虑用其他的数据类型代替Variant。大家不妨做一下对比,一个Variant类型变量占用16字节空间,而Integer变量仅仅占2个字节。   但在应用时一定要做好统筹规划,因为一旦用其他数据替换了Variant,其灵活性也就失去了,有时为了弥补灵活性,必须增加更多的代码。所以在使用时谨慎考虑,三思而后行,不妨运行一下试试。   #15.使用动态数组,并及时回收   使用动态数组代替固定数组,可在不再需要时及时删除。例如,我们可以用如下代码回收动态数组所占用空间:   Erase Array1   #16.回收被字符串或对象变量用过的空间   当过程结束时,可自动回收(非静态)局部字符串和数组变量所用空间。但是全局变量和模块级的字符串和数组变量一直存活到整个程序结束。要想应用程序尽量小,就得尽可能回收这些变量所用空间。将0长度字符串赋给字符串变量,可回收其空间:   HelloStr=""   #17.消除死代码和无用变量   在开发和修改应用程序时,可能遗留了死代码(代码中的一个完整过程,而它并没有被任何地方调用)也可能声明了一些不用的变量。   上面仅仅是我在长期编程工作中所总结出的一些经验,希望对你的编程有所帮助。