DonationCoder.com Software > DcUpdater
Dcuppdater.exe crashes multiple times daily in W7...
mouser:
it was very tricky to track down, and looks like it was from a component library i've used a lot. it's code to enable drag and drop of files onto the form. the code reroutes windows messages on start up using a call to SetWindowLong:
SetWindowLong(TargetWnd,GWL_WNDPROC,NewWndProcedure);
Which basically reroutes windows messages for the target wnd element to new function -- that's what lets the code handle drag and drop onto a target form UI element.
And it seems that for whatever reason, on win7 some messages are getting sent to that rerouted function in the middle of destruction, when the new code/object is being torn down and no longer exists.
The solution was simply to un-reroute the windows message procedure before any destruction -- not sure why that was not being done before except that it didn't seem to make a difference before.
mouser:
The new version also includes a rebuild of the libcurl library, which i built using visual studio 2003, since it seems to be the last visual studio that will build static dll that doesnt require the ms runtimes that are missing in older windows versions (do i have that right?)
f0dder:
Sounds like the component are making unsafe assumptions - handling messages wrongly, or doing stuff in it's destructor that it shouldn't. If WIN32-API window teardown happens as a result of destroying a C++ object, this situation could very well happen.
The new version also includes a rebuild of the libcurl library, which i built using visual studio 2003, since it seems to be the last visual studio that will build static dll that doesnt require the ms runtimes that are missing in older windows versions (do i have that right?)-mouser (December 29, 2009, 06:53 PM)
--- End quote ---
Visual Studio 2005 is the last version that produces binaries compatible with NT4 and Win9x. The 2008-and-later C/C++ runtimes (even if statically linked) refers to some stuff that isn't present on those early systems... I wonder if this is something MS deliberately did to help kill off those systems, or if there's a valid reason why something as basic as the C/C++ runtimes should suddenly use fancy-pants API calls.
mouser:
Ah visual studio 2005 supports win98, that's good to know, then maybe i will upgrade to that on my vmware that i use for such things.
I did notice this interesting project which seems to claim it can make visual studio 2008 apps build for win98:
http://www.legacyextender.com/
f0dder:
Ah visual studio 2005 supports win98, that's good to know, then maybe i will upgrade to that on my vmware that i use for such things.
I did notice this interesting project which seems to claim it can make visual studio 2008 apps build for win98:
http://www.legacyextender.com/
-mouser (December 30, 2009, 06:15 AM)
--- End quote ---
There's also some freeware version I stumbled upon, but it didn't work for me... and at any rate, you could always track down what the changes are and recompile the CRT yourself... would of course requite a little work, but it wouldn't cost you a dime.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version