PDA

View Full Version : smart_ptr deallocation



lehigh
November 10, 2004, 20:43:35
Your last post said to
1) Use Debug DLLs
2) Use Multithreaded Debug DLL option.

My questions are
1) Where can i get the debug dlls for version 1.41 of IC Imaging Control? How can I get the debug configuration to look at these dlls? Where should I put them?
2) What if I want to use the relase configuration w/ the release dlls? When I try the multithreaded DLL option I get all sorts of external link errors.

Thank you,
Chris

(previous e-mail)
smart_ptr deallocation
This code leads to a "debug assertion failed" violation

Grabber::tVidNrmListPtr pVidNrmList =
grabber->getAvailableVideoNorms();

pVidNrmList = NULL;

When it gets to the line of code in the ~refcount_ptr destructor that it does

delete get()

, this violation message comes up:

Debug Assertion Failed!
Program: ...
File: dbgdel.cpp
Line: 52

Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)

HELP!
Thanks,
Chris

lehigh
November 10, 2004, 20:56:20
This is for use in 2003 .NET console app

Stefan Geissler
November 11, 2004, 09:46:22
Hello Chris,

The Class Library DLLs uses following directory structure:

%ICPATH%\bin -> Release DLLs
%ICPATH%\classlibrary\include -> Header files for C++
%ICPATH%\classlibrary\release -> Release DLLs
%ICPATH%\classlibrary\debug -> Debug DLLs

The code generation must be Multithreaded DLL.

I suggest to link the debug version of your exe file into the classlib/debug directory, and the release version into the classlib/release directory.

Also i would suggest to update to IC Imaging Control 2.0. The DLLs of IC 2.0 are build for .NET. The original 1.41 DLLs will create the error messages you have reported. Please send a request for a free update with your current IC license key to support@imagingcontrol.com..

lehigh
November 11, 2004, 17:56:04
what i meant was the TIS_UDSHL05_vc71.dll and TIS_DShowLib05_vc71.dll which are not in those directories you listed.

Also as I said, when I try to link with the Multithread DLL option, i get linker errors.

Thanks,
Chris

Stefan Geissler
November 12, 2004, 08:19:50
Sorry, my fault.

They must be for IC 1.41:
classlib\release\TIS_UDSHL05.dll and classlib\release\TIS_DShowLib05.dll in the release
classlib\debug\TIS_UDSHL05.dll and classlib\debug\TIS_DShowLib05.dll in the debug version.
The 1.41 DLLs will occur the documented error message in the .NET 2003 environment, because they are not designed for .NET 2003. Therefore your should update to IC 2.0


They must be for IC 2.0:
TIS_UDSHL06_vc71.dll and TIS_DShowLib06_vc71.dll in the release version and TIS_UDSHL06_vc71d.dll and TIS_DShowLib06_vc71d.dll in the debug version.

Do you link any other third party DLLs to your project? And what are the error linker messages?

lehigh
November 12, 2004, 17:33:54
I see, I sent in a request for 2.0 update but have got no response, could you send it to me? I have a project deadline Thursday! Thanks,
Chris

Stefan Geissler
November 15, 2004, 09:22:23
Hello Chris,

please excuse the delay. You will receive the mail in the next minutes...