tags:

views:

76

answers:

2

I usually don't expect help from outside but I need to solve this quickly and hence am looking for some directions. I have a 6 year old MFC based application running in an xp machine and deleted some files/programs to free some space in C drive to install additional applications. After installing my new program (Labview 8.6), I find that I'm no longer able to run the MFC based one. I tried doing System restore and what not but I get the following error when I start the app.


Debug Assertion Failed!

Program : .... File : dlgdata.cpp Line : 43

(Press retry to debug the application)

Abort Retry Ignore


This dlgdata.cpp is an MFC core file and line 43 is ASSERT(FALSE) in function HWND CDataExchange::PrepareCtrl(int nIDC) , and I'm clueless as to what has gone wrong. I'd be grateful if I just get some pointers to start debugging.

A: 

You are missing some MFC libs (either MSFT or some third party) that implment the control you are trying to use.

Try installing the redistributable spackage http://www.microsoft.com/Downloads/details.aspx?FamilyID=32bc1bee-a3f9-4c13-9c99-220b62a191ee&displaylang=en

edit: this question might help work out which lib you need

Martin Beckett
yep, makes sense, just wondering which third party MFC lib that I deleted is required. Tried running the above package but it stops running beyond the extraction of files.....
Yashwant
A: 

Run Process Monitor and start your app. You should be able to see what DLL the program is trying to access. Then it's off to Google to (hopefully) find out what the DLL belongs to.

Hugh Brackett
Just wanted to let everyone know that I was able to solve the problem. I ran the Dependency Walker and though it was misleading initially (the red errors indicating missing DLL files which was not the cause), it showed some missing controls in the code. I then found out that I had mistakenly removed Measurement Studio which was being used by the program. I installed it and now works. On a side note, don't these activex controls make life miserable for a programmer? When one is missing in the system, the debugging becomes difficult. I don't know much about ActiveX, but is it a good design?
Yashwant