And the answer was behind door #3! I was a little disappointed when I put a RELEASE version of the DLL on the production machine and it still didn't work. However, Roger's example of using dumpbin proved invaluable as I found that the one FORTRAN function in the DLL was looking for a FORTRAN runtime DLL that was not on the production machines. When I put the appropriate FORTRAN DLL on that machine, everything started working. The C libs are already statically linked. I'll work out the static linking of the FORTRAN libs on my own. Those $ we spent for GX Developer support were well placed. Thanks. Regards, David L Humphrey Manager, Software Development Bell Geospace, Inc. -----Original Message----- From: Roger Amorim [mailto:[EMAIL PROTECTED]] Sent: Tuesday, November 16, 1999 10:13 AM To: '[EMAIL PROTECTED]' Subject: RE: [gxnet]: Problem moving custom GXs from development machine t o production machine 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 _______________________________________________________ More mailing list info http://www.geosoft.com/support/listserv/index.html
