Microsoft KB Archive/58922

From BetaArchive Wiki
Knowledge Base

Cannot Link PROISAM.LIB or PROISAMD.LIB into Quick Library

Article ID: 58922

Article Last Modified on 8/16/2005


  • Microsoft Visual Basic for MS-DOS
  • Microsoft BASIC Professional Development System 7.0
  • Microsoft BASIC Professional Development System 7.1

This article was previously published under Q58922


The PROISAMD.LIB library included with the Professional Edition of Microsoft Visual Basic for MS-DOS, version 1.0 cannot be linked into Quick libraries to be used by the VBDOS.EXE environment. The PROISAM.LIB and PROISAMD.LIB libraries included with Microsoft Basic Professional Development System (PDS) for MS-DOS, versions 7.0 and 7.1 also cannot be linked into Quick libraries to be used by the QuickBasic extended environment (QBX.EXE).

The terminate-and-stay-resident (TSR) programs PROISAM.EXE and PROISAMD.EXE are the programs that make the ISAM engine available to VBDOS.EXE and QB.XEXE. PROISAM.EXE or PROISAMD.EXE must be run before invoking VBDOS.EXE or QBX.EXE if you want to use ISAM statements in your Basic program in the VBDOS.EXE or QBX.EXE environment.


PROISAMD.EXE supports all the ISAM routines. PROISAM.EXE does not support all of the features of ISAM because for many database applications certain features are not needed. It does not contain the "data dictionary" statements -- CREATEINDEX, DELETEINDEX, and DELETETABLE. It contains a restricted version of the OPEN...FOR ISAM statement that opens a database or table but does not create it if it does not already exist.

Trying to link PROISAMD.LIB into a Quick library with Visual Basic for MS-DOS, will LINK without errors, and the PROISAMD.QLB library will be created.

Trying to link PROISAM.LIB or PROISAMD.LIB into a Quick library with Basic PDS for MS-DOS without the /NOE switch generates the following error message:

LINK : fatal error L4050: too many public symbols for sorting

This error message is eliminated by using the /NOE switch:


However, if you try to use the resulting Quick library in VBDOS.EXE or QBX.EXE, the "Feature unavailable" message correctly appears. This suggests that VBDOS.EXE or QBX.EXE checks for the presence of the PROISAM or PROISAMD TSR programs before performing any ISAM functions, rather than just searching for the routines as it encounters them.

Additional query words: VBmsdos BasicCom 1.00 7.00 7.10

Keywords: KB58922