Re: Win32 not finding a DLL after Binding
- Posted by penpal0andrew Jun 12, 2009
- 960 views
This is not the problem. No matter where I place the files on the destination computer, the DLL is not found. And no matter where I place the files on the development computer, the DLL is found. Thinking this may be a DLL problem, I went to the destination computer and re-created the DLL from source files. The result was the same. I looked into Euphoria, and this is base Euphoria, and not win32. The code in Euphoria is:
draw_dll = open_dll ("Draw_MGS.dll") -- xxxx if draw_dll = 0 then abortErr( "DLL file not found" ) end if
This issue needs to be resolved. I suspect it is related to the binding process. Another possibility is that the destination computer once had Euphoria on it and it was removed incorrectly?
dll are searched in the following order:
1) main program directory
2) %windir%\system32
If the DLL's are in same directory as main program it should find them but it may depend on user access rights. Check security tab in the directory properties dialog to see if the user as sufficient access rights. This is true only for windows 2000/xp/vista member of a domain. For personnal edition or professional edition not member of an active directory domain there is no security tab visible. In that case you should open cmd.exe and use cacls.exe to display and modify access control list for the directory.
to display ACL for directory:
to give "user_name" full control to "app_dir" type in cmd.exe
cacls app_dir /E /T /G:user_name F
jacques
After binding a Euphoria program which uses Win32, and moving it along with the C language DLL which I use, to another computer, the Euphoria program (exe) did not find the DLL. I keep the DLL in the same directory/folder as the exe. Is there anything in the computer environment which could cause this problem?
0.70.4 is the win32 library version
A. Katz