I think you're correct with the fact that the application is not finding some DLL when launched from Java. I do have the MySQL library directory in the PATH (C:\Programs\MySQL\MySQLServer5.1\lib\opt) as well as the Qt plugins directory (C:\Programs\Qt\4.7.0\plugins\sqldriver) so I don't think those are the missing DLLs.
I'm running the application using Depends (as described in http://msdn.microsoft.com/en-us/libr...=VS.90%29.aspx). A little hokey to run, but....
The application is now failing with an access violation in MSVCR90D.DLL. MSVCR90D is indeed loaded. I scanned the Depends output and found the load of that library.
The end of the run (in Depends) says:
LoadLibraryW("uxtheme") called from "QTCORED4.DLL" at address 0x671AB7A3.
LoadLibraryW("uxtheme") returned 0x750D0000.
GetProcAddress(0x750D0000 [UXTHEME.DLL], "EndPanningFeedback") called from "QTCORED4.DLL" at address 0x671ABD78 and returned NULL. Error: The specified procedure could not be found (127).
LoadLibraryW("user32") called from "QTCORED4.DLL" at address 0x671AB7A3.
LoadLibraryW("user32") returned 0x767D0000.
GetProcAddress(0x767D0000 [USER32.DLL], "RegisterTouchWindow") called from "QTCORED4.DLL" at address 0x671ABD78 and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x767D0000 [USER32.DLL], "GetTouchInputInfo") called from "QTCORED4.DLL" at address 0x671ABD78 and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x767D0000 [USER32.DLL], "CloseTouchInputHandle") called from "QTCORED4.DLL" at address 0x671ABD78 and returned NULL. Error: The specified procedure could not be found (127).
Second chance exception 0xC0000005 (Access Violation) occurred in "MSVCR90D.DLL" at address 0x6378F8BC.
Exited "TRAINERTOOL.EXE" (process 0x43C) with code -1073741819 (0xC0000005).
LoadLibraryW("uxtheme") called from "QTCORED4.DLL" at address 0x671AB7A3.
LoadLibraryW("uxtheme") returned 0x750D0000.
GetProcAddress(0x750D0000 [UXTHEME.DLL], "EndPanningFeedback") called from "QTCORED4.DLL" at address 0x671ABD78 and returned NULL. Error: The specified procedure could not be found (127).
LoadLibraryW("user32") called from "QTCORED4.DLL" at address 0x671AB7A3.
LoadLibraryW("user32") returned 0x767D0000.
GetProcAddress(0x767D0000 [USER32.DLL], "RegisterTouchWindow") called from "QTCORED4.DLL" at address 0x671ABD78 and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x767D0000 [USER32.DLL], "GetTouchInputInfo") called from "QTCORED4.DLL" at address 0x671ABD78 and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x767D0000 [USER32.DLL], "CloseTouchInputHandle") called from "QTCORED4.DLL" at address 0x671ABD78 and returned NULL. Error: The specified procedure could not be found (127).
Second chance exception 0xC0000005 (Access Violation) occurred in "MSVCR90D.DLL" at address 0x6378F8BC.
Exited "TRAINERTOOL.EXE" (process 0x43C) with code -1073741819 (0xC0000005).
To copy to clipboard, switch view to plain text mode
There's 11 'GetProcAddress()' failures at the end of the run. I just showed 4 above.
Also, Depends complains that 'wintab32.dll' is missing. I'm not sure I need that, do I?!?
Also, also, I ran 'dumpbin /dependents' on my application using the same PATH as I used when I ran it with Depends and it responded with:
Dump of file trainerTool.exe
File Type: EXECUTABLE IMAGE
Image has the following dependencies:
log4cxx.dll
model.dll
flowEngine.dll
QtGuid4.dll
QtCored4.dll
MSVCP90D.dll
MSVCR90D.dll
KERNEL32.dll
Summary
2000 .data
11000 .idata
20000 .rdata
1000 .rsrc
46000 .text
Dump of file trainerTool.exe
File Type: EXECUTABLE IMAGE
Image has the following dependencies:
log4cxx.dll
model.dll
flowEngine.dll
QtGuid4.dll
QtCored4.dll
MSVCP90D.dll
MSVCR90D.dll
KERNEL32.dll
Summary
2000 .data
11000 .idata
20000 .rdata
1000 .rsrc
46000 .text
To copy to clipboard, switch view to plain text mode
I checked and all of the referenced DLLs above are loaded (when using Depends).
Still searching....
Bookmarks