When a GX is unable to load an external DLL it is linked to, there can be
several problems:

1. The DLL is not in the path. Since you placed it in the Geosoft directory,
we will assume that this directory is in the path and the DLL should load.

2. The DLL is linked to functions in OASIS montaj not available on the
target machine. This can happen if the DLL was linked to a newer version of
OASIS montaj that contains new functions not available in the version
running on the target machine.

3. The DLL is linked to DLLs that are not part of OASIS montaj and are not
available (or not in the path) in the target machine. A classic mistake is
to compile the DLL as DEBUG. This will link it to the debug Microsoft DLL's
that are only available on machines with the compiler installed. All DLL's
should be compiled as RELEASE.


The best way to diagnose the problem is to run "DUMPBIN /IMPORTS MyDll.dll".
This will list all the DLL's required by your DLL. Here is a sample run on
the add_.dll provided as a sample on the GXDEV\C\ADD_ directory:

------------------------------------------------------------

Microsoft (R) COFF Binary File Dumper Version 6.00.8447
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.


Dump of file add_.dll

File Type: DLL

  Section contains the following imports:

    GEOGX.dll
              10002000 Import Address Table
              10002080 Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                 22B  GtString_SYS
                  1D  App_DisplayMessage_SYS
                 40D  iCheckError_SYS

    MSVCRT.dll
              10002018 Import Address Table
              10002098 Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                 23D  atoi
                  9D  _adjust_fdiv
                 25E  free
                 10F  _initterm
                 291  malloc

    KERNEL32.dll
              10002010 Import Address Table
              10002090 Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                  5D  DisableThreadLibraryCalls

  Summary

        1000 .data
        1000 .rdata
        1000 .reloc
        1000 .text


------------------------------------------------------------

This listing shows that the DLL requires the GEOGX, MSVCRT and KERNER32 DLLs
and the function names required. If any of these DLLs where not in the path
the DLL would not load.


I hope this information will help you track down the problem.

Roger
_______________________________________________________
More mailing list info http://www.geosoft.com/support/listserv/index.html

Reply via email to