Microsoft KB Archive/40643

From BetaArchive Wiki

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

PSS ID Number: Q40643 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 Accept and Display Interface System object files ADIS.OBJ, ADISINIT.OBJ, and ADISKEY.OBJ must reside in a Dynamic Link Library (DLL) for programs that are run in MS OS/2 protected mode to access the ADIS support dynamically. The ADIS.DLL cannot contain any other programs. If the ADIS routines are included in a DLL with other routines, the following error message will be generated by a Microsoft COBOL version 3.0 or 3.0a program executed in MS OS/2 protected mode: Failed to find ADIS 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 ADIS.DLL is only used in MS OS/2 and is equivalent to the ADIS.EXE dynamic ACCEPT and DISPLAY support file used in MS-DOS and MS OS/2 Real mode. The following ADIS.DEF file can be used to create an ADIS.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 ADIS @1 ; assumes that the PROGRAM-ID is ADIS EXPORTS ADISINIT @2 ; assumes that the PROGRAM-ID is ADISINIT EXPORTS ADISKEY @3 ; assumes that the PROGRAM-ID is ADISKEY Link step: LINK ADIS+ADISINIT+ADISKEY/NOP/NOD,,,PCOBOL+DOSCALLS,ADIS.DEF

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