----- Original Message ----- From: "Robert May" . . > > A series of tests: > Drop - ok > DropF - fails > AropF - fails > DropFi - fails > DropFile - fails > DropFiles - fails > DropX - fails > DropFx - fails > DropFilesx - fails > xDropFiles - ok > Win32::DropF - fails > Win32::xDropF - ok > > Appears to indicate that any module whose last component name starts > with 'DropF' fails.
Except that you've stated that 'AropF' fails and 'DropX' fails. Or did you mean to write that they are ok ? > Interesting, but doesn't get me much closer to a > solution. > True. > > So I took 2 dlls produced by the above process, both compiled and linked > in the same way with gcc; one that works (DropX.dll) and one that > doesn't (DropF.dll), and wrote a simple perl script to attempt to > load them using LoadLibrary() directly (using Win32::LoadLibrary()). > DropX.dll loads fine; DropFiles.dll fails (returns '0' as a handle), > but the LoadLibrary call does not SetLastError, resulting in any call to > GetLastError returning 0; 0 is interpreted as NO_ERROR, hence the > mis-leading error message from DynaLoader. > Yep - I follow that. > So this appears to be a mingw or windows api issue, and not a problem > with DynaLoader. Yes - I take "windows api issue" to mean "Windows98 issue and/or mingw32-w32api issue" > > Now I just need to find out what the difference is between the 2 dll's. > MS's Dependency walker (Depends.exe, comes with the platform SDK) > loads both fine, and doesn't reveal anything very useful, but a binary > diff of the 2 files (which are, incidently, exactly the same size) shows > areas of significant difference. I have no idea if this is expected or > not, but my gut feeling is that it is suspicious. > > Off to find a mingw forum/list. > You'll find MinGW mailing list subscription details at www.mingw.org (somewhere). But it's hard to expect helpful answers from them because of all the perl stuff that's involved in your test case. Better if you could construct a test case that was pure C. But give it a try anyway (even if you can't construct a pure C test case) - 'DropF' might mean something to someone there. You could just try updating your gcc-3.4.4 and also updating your mingw32-w32api (assuming your current version is not the latest). My feeling is that even if you do get an explanation (and I'm sceptical about that), the solution will be to simply update anyway. Cheers, Rob _______________________________________________ Perl-Win32-Users mailing list Perl-Win32-Users@listserv.ActiveState.com To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs