So here I am, finishing up a project. It works flawlessly. I'm happy, I spent 4 hours today writing up a developer document for the API and interface. In the process of getting everything packaged up I recompile everything in release just to make sure the static library I wrote links in fine with both my test utility as well as the sample COM library.
Proceeding to test, the release test client crashes miserably.
Okay, make sure the right COM library got registered, and try again. CRASH. Hrmph. Change the link library settings on my static library, recompile, copy, recompile the test client and COM library. It's good!
Except... why are none of my object properties returning anything? Check settings... recompile, re-register, try again. Nope, still nothing. Recompile everything in debug, works fine. Client in release, COM in debug, works fine. Hrm...
So I take a quick look at my COM code. For some reason, somehow I thought it would be a good idea to use the following syntax when calling the initialization functions:
ATLASSERT(SUCCEEDED(FunctionCall()));
Ehhem.. yeah. Okay... um... :music:/whistles innocently:music:
Have a great weekend ladies and gents!
Edit: In case any of the younger programmers are wondering why this is a big deal. That line of code (the entire line) in release mode evaluates to "noop".
Proceeding to test, the release test client crashes miserably.
Except... why are none of my object properties returning anything? Check settings... recompile, re-register, try again. Nope, still nothing. Recompile everything in debug, works fine. Client in release, COM in debug, works fine. Hrm...
So I take a quick look at my COM code. For some reason, somehow I thought it would be a good idea to use the following syntax when calling the initialization functions:
ATLASSERT(SUCCEEDED(FunctionCall()));
Ehhem.. yeah. Okay... um... :music:/whistles innocently:music:
Have a great weekend ladies and gents!
Edit: In case any of the younger programmers are wondering why this is a big deal. That line of code (the entire line) in release mode evaluates to "noop".