It's certainly not the first case since it does not happen in all PCs.
However I am guessing that one of the DLL is causing this issue. I tried sending the customer DEBUG and RELEASE version and
the DEBUG worked without any errors. I looked ath the list of DLLS loaded by the DEBUG and RELEASE and found that the difference is in DEBUG
MSVCRTD.DLL, MFC42D.DLL, MFC042D.DLL and MFCD42D.DLL was loaded
and in RELEASE
MSVCRT.DLL and MFC42.DLL.
I looked at the version number for MSVCRT.DLL and MFC42.DLL and they seem to match with what I have in my PC. In my PC the program works without any errors.
Any further thoughts on this issue?
Main Topics
Browse All Topics





by: KurtVonPosted on 2003-08-05 at 08:39:28ID: 9081390
Even if there are no virtual functions, I think this can happen if a funtion pointer is NULL. Of course, there are virtual functions, at the very least because MFC has them: DoDataExchange, OnInitDialog, etc. If it was happening on every machine I'd say it was probably a bad typecast.
It still might be, but more likely there is a function pointer being used for a feature that doesn't exist on the machine giving you trouble. Assuming you don't have the dev environment on that machine there is pretty much only one way to track what's going on, and tht is with TRACE statements.
Maybe you have a callback being passed a pointer to a DLL function not on the bad system, or are using a MFC 4.2 when the computer has the MFC 4.0 dlls (try compiling with static linking and see if the problem goes away). Maybe it is just a OCX you are using, or an service that isn't present (make sure you always detect return codes for at least the first function that calls a service).
That's all I can think of given the data you provided.