PDA

View Full Version : unhandled exceptions from FilterLoader



Bolle
December 29, 2006, 00:00:31
I try to load the standard filter but whenever I do this, it leads to an error



try{_pSaveImageFilter = ilterLoader::createFilter( "Rotate Flip", "stdfiltersd.ftf" );}
catch(...){std::cout << _grabber->getLastError().c_str() << std::endl;}


Failed to load the standard frame filters!

But I can't find out what I'm doing wrong. I did it all like in the samples and snippets.

Johannes Vogel
December 29, 2006, 10:27:25
Hello,
Your executable is probably located in the wrong directory. Please send me a zip file of the complete project to support@imagingcontrol.com

Bolle
December 29, 2006, 16:29:44
Hello,
Your executable is probably located in the wrong directory.

My stdfilters.ftf is in the right directory.

Frame filters are loaded from: i) the directory of the applications's executable, ii) the directory of the loaded TIS_UDSHLXX_vcYY.DLL and iii) the directory specified by setLoadPath.

I also don't get an exception thrown, but _pRotFlipFilter is still NULL! So I can't set the parameters. :confused:




try{
_pRotFlipFilter = FilterLoader::createFilter( "Rotate Flip", "stdfiltersd.ftf" );
}
catch(...){
if( _pRotFlipFilter == NULL)
{
std::cout << "Failed to load the the standard frame filters!" << std::endl;
}
}
if( _pRotFlipFilter != NULL){
_pRotFlipFilter->setParameter( "flipv", true );
_pRotFlipFilter->setParameter( "fliph", true );
if( !_grabber->setDeviceFrameFilters( _pSaveImageFilter.get()) )
{
std::cout << "Failed to add the the standard frame filters to the grabber!" << std::endl;
}
_pSink = FrameHandlerSink::create( _pRotFlipFilter.get(), eRGB24, 5 );
}
else
{
_pSink = FrameHandlerSink::create( _pRotFlipFilter.get(), eRGB24, 5 );
}

Johannes Vogel
December 29, 2006, 16:52:47
Hello,

I assume you are doing a debug build. Therefore, you are loading "stdfiltersd.ftf" and not "stdfilters.ftf". The "d" in front of the . identifies the debug version. The debug version of the filter requires the debug version of all library files in its directory. Therefore, the output path for your debug executable shluld be "<ic install dir>\classlib\debug".

Bolle
December 29, 2006, 17:12:07
Hello,

I assume you are doing a debug build. Therefore, you are loading "stdfiltersd.ftf" and not "stdfilters.ftf". The "d" in front of the . identifies the debug version. The debug version of the filter requires the debug version of all library files in its directory. Therefore, the output path for your debug executable shluld be "<ic install dir>\classlib\debug".

:mad: :mad: :mad: :mad:

I did a coustom installation of v.3.0.3 only chosing VS2005 C++.

"stdfiltersd.ftf" is not included in this installation type, so I have to setup the whole stuff to get this file...

....grrrrrr.... :rolleyes:

Johannes Vogel
December 29, 2006, 17:45:09
Hello,

Sorry for the trouble. We will check the installation procedure for bugs.