Robert S 0 Newbie Poster

Hi,

I am trying to deploy an Access database application that refers to a dll in VB code using a DECLARE statement. I wrote the dll in using VC++ 2005. I have tested the dll and it really does work fine, on some systems.

The application runs on one computer with Office 2003 SP2 installed and on another system that only has Office 2000 installed. I get this error message about the dll failing to load on any other system that I use, all of which have Access 2003 installed.

I get a run-time error 48: Error in loading DLL. The help information that come up is not very helpful:

A dynamic link library (DLL) is a library specified in the Lib clause of a Declare statement. This error has the following causes and solutions:

  • The file isn't DLL-executable. If the file is a source-text file, it must be compiled and linked to DLL executable form.
  • The file isn't a Microsoft Windows DLL. Obtain the Microsoft Windows DLL equivalent of the file.
  • The file is an early Microsoft Windows DLL that is incompatible with Microsoft Windows protect mode. Obtain an updated version of the DLL.
  • The DLL references another DLL that isn't present. Obtain the referenced DLL and make it available to the other DLL.
  • The DLL or one of the referenced DLLs isn't in a directory specified by your path. Move the DLL to a referenced directory or place its current directory on the path.

The only thing here that seems to make sense is the last item "The DLL or one of the referenced DLLs isn't in a directory specified by your path". I have checked and rechecked the path included in the DECLARE statement and tried changing it, but nothing works.

Does the dll have to be installed in a system directory like C:\Windows\system32 ? Or does the directory of the dll have to be in the PATH environment variable?

Does this have something to do with the security features in Office 2003?


Robert S