Microsoft KB Archive/40641

From BetaArchive Wiki

“Failed to Find IXSIO”; COBOL 3.0 IXSIO Must Be Alone in DLL

PSS ID Number: Q40641 Article last modified on 04-20-1993

3.00 3.00a | 3.00 3.00a MS-DOS | OS/2

The information in this article applies to:
- Microsoft COBOL for MS-DOS and OS/2, versions 3.0 and 3.0a

Summary: The ISAM system-support object file IXSIO.OBJ needs to reside in a Dynamic Link Library (DLL) for programs that are run in MS OS/2 protected mode. The IXSIO.DLL cannot contain any other programs. If the IXSIO routine is included in a DLL with other routines, the following error is generated by a COBOL version 3.0 or 3.0a program that is executed in MS OS/2 protected mode: Failed to find IXSIO Runtime Error number 173 Microsoft has confirmed this to be a problem in versions 3.0 and 3.0a. This problem was corrected in Microsoft COBOL Professional Development System version 4.0 for MS-DOS and MS OS/2.

More Information: The IXSIO.DLL Dynamic Link Library is the equivalent to the IXSIO.EXE dynamic ISAM support file used in MS-DOS or MS OS/2 protected mode. The Microsoft COBOL versions 3.0 and 3.0a distribution disks include an IXSIO.DEF file that may be used to create an IXSIO.DLL. The following IXSIO.DEF file may be used to create an IXSIO.DLL: LIBRARY INITINSTANCE ; ADIS is a DLL PROTMODE ; Needs to run in protected mode DATA NONSHARED ; Expects OS/2 to duplicate data areas for ; each task CODE LOADONCALL ; Load when needed EXPORTS IXSIO @1 ; Assumes that the PROGRAM-ID is IXSIO The following is a LINK step: LINK IXSIO/NOP/NOD,,,PCOBOL+DOSCALLS,IXSIO.DEF

Additional reference words: 3.00 3.00a Copyright Microsoft Corporation 1993.