Serving the Quantitative Finance Community

 
User avatar
DominicConnor
Posts: 41
Joined: July 14th, 2002, 3:00 am

DLL - who called the function?

April 5th, 2005, 6:21 am

Don't worry about the symbolic information. If you reach the point where this is useful to you, you won't need it for this.You probably need an extern "C" specification, else your C++ code will be compiled as C++ code Note the double indirection on the C++ call.You can't debug it through VBAYou probably want an entry in your .DEF file.run DumpBin on the DLL, and see if the function name has been decorates _'s and @@'s are bad,
 
User avatar
domilar04
Posts: 0
Joined: October 14th, 2004, 6:04 am

DLL - who called the function?

April 5th, 2005, 8:29 am

Thanks, DCFC! It's really an issue about def file. Under VC.Net 2003, go to Project->Properties->Linker->Input->Module Definition File and add e.g. MyProject.def. Now I can pass data into C++ and get result, although when I press F5 to start debugger in VC, same error message box (No symbolic information ...) will appear. I don't know whether I've done is correct or not ... maybe someelse has better solution to share with me.However, I still can not step into my VC code from VBA. daveangel listed detail steps below, but it seems like under VC6.0. Is it same under VC.Net2003? My step is: go to Project->Properties->Debugging-> Command, browse for EXCEL.EXEAnything wrong or missing?Chris
 
User avatar
DominicConnor
Posts: 41
Joined: July 14th, 2002, 3:00 am

DLL - who called the function?

April 5th, 2005, 11:35 am

Ignore the symbolic information message.Try setting an F9 breakpoint in your C++ function, then running your VBA.
 
User avatar
domilar04
Posts: 0
Joined: October 14th, 2004, 6:04 am

DLL - who called the function?

April 7th, 2005, 12:41 am

Hi, DCFCI have tried that, setting F9 in C++ and running VBA. It never stops.
 
User avatar
domilar04
Posts: 0
Joined: October 14th, 2004, 6:04 am

DLL - who called the function?

May 9th, 2005, 6:14 am

Excel add-in development in C/C++a great book! solve my problem (a silly mistake)