如何解决FOXBASE+运行外部命令时内存不足的问题

Author: 安徽 朱煜明 Date: 1996-01-05

        一、修改DOS系统配置来减少常规内存的占用
        如果您使用的DOS系统版本不低于5.0,那么就可以通过修改配置文件CONFIG.SYS来减少操作系统本身对常规内存的占用,其方法是在该文件中添加以下两条配置文件命令:
        DEVICE=C:\DOS\HIMEM.SYS
        DOS=HIGH
        然后关机重新启动操作系统,这时DOS会将自身一部分装至高位内存区,用这种方法可使常规可用内存增加约46K左右。
        再就是修改配置命令BUFFERS的参数值。通常系统使用字处理软件时缓冲设置10~20个,而使用多个子目录时缓冲区设置为20~30个。每一个缓冲区将占用532字节的内存,缓冲区越大可用内存就越小,所以运行FOXBASE+时,DOS缓冲区应设置为15~20个左右,这样既保证数据的存取速度又留出更多的可用内存。
        二、减少汉字系统对内存的占用
        在启动FOXBASE+时,有时会显示提示信息,说明该系统运行时要占用大量内存,建议采用汉卡或压缩字库。如果你用的是汉卡或采用的软汉字系统能实现零内存启动,如UCDOS等,那么汉字字库对你运行FOXBASE+不会产生影响。但如果你没有使用这类汉字系统,你就应该通过缩小汉字字库的方法来减少对内存的占用。汉字字库CCLIB约为232K,其中常用的一级汉字为141K,因此可以用DEBUG命令来删除不常用的二级汉字,其方法步骤如下:
        DEBUG CCLIG
        -RBX
        BX 0003
        :  0002
        -RCX
        CX A040
        :  2840
        -W
        Writing 22840 bytes
        -Q
        二级汉字删除后CCLIB的大小为141K,少占用了91K左右的可用内存。
        三、对应用程序进行可能的修改
        如果你的应用程序中使用了LOAD〈file〉命令装入一个较大的二进制文件,那么这个文件如不清除就会一直驻留在内存中,所以这类文件执行后就应该用RELEASE MODULE〈file〉命令来清除出内存,从而减少对内存的占用,相应增加了可用内存。
        四、修改FOXBASE+的配置文件
        FOXBASE+允许用户修改CONFIG.FX文件来对内存重新分配,所以应用程序开发成功后,就应通过修改配置文件来调整内存分配,为应用系统提供足够内存分配空间以优化整个系统。
        1.修改配置命令HMEMORY的参数值,改变存贮命令行的内存容量。该命令缺省时将占用6K内存。所以你在运行FOXBASE+且内存特别紧张时,可以适当减少该项参数值,每减少一个单位可多出1K的可用内存。
        2.修改MVARSIZ的参数值。该参数规定内存变量所占用的内存空间的大小,以1K为单位,缺省值为5K,所以需要时也可适当减少该项值,每减少一个单位可少占用1K内存。
        以上介绍的几种方法能够有效减少内存的占用,可以用其中一种或几种方法时采用,这样不但可以解决你运行FOXBASE+时内存不足的问题,更能优化系统配置,加快FOXBASE+的运行速度。
        (安徽    朱煜明)