We have several DLL's that we've written and used with our OpenInsight application. We had been putting the dll's in the same subdirectory as OInsight.exe, but have decided to move them to the local machine (ie, into c:\winnt\system32 for windows XP), so that we can update more easily. When I run a runtime version of oinsight, it finds the dll's, and all callable functions just fine. But when I run our full development version of oinsight.exe, it is reporting one of my functions as missing (other functions, it finds just fine). The dll in question ONLY exists in the local \winnt\system32 subdirectory. Any ideas?
Run regsvr32 against the dll in its new location.
Check the dll is the correct version (ie. not an earlier version missing your required function).
Include c:\winnt\system32 in the PATH= setting.
Run your DLL prototypes (RUN DECLARE_FCNS… ) again.
I discovered the problem. There was an older version of the dll in the same subdirectory where OINSIGHT.EXE was running from, that had been renamed. For some reason it was using this dll, even though it did not have the same name. Once I removed this dll, it started using the one located in the c:\winnt\system subdirectory.