PDA

View Full Version : Rebuild Error and Flip problem



Abott
May 12, 2008, 09:56:00
Hi,
I was writing my new application in C# and after some majore modifications I decided to ReBuild Project and suddenly I received following Error:


Exception occurred creating type 'TIS.Imaging.ICImagingControl, ImagingControl3, Version=3.0.1.1, Culture=neutral, PublicKeyToken=null' System.IO.FileNotFoundException: Could not load file or assembly 'AxInterop.ICImagingControl3, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.

Does anyone know how to get rid of this error?

And my second problem is with the Flip Filter. I went through one of the example applications to know how it's done, so I finnaly wrote:


TIS.Imaging.FrameFilter RotateFlipFilter;
RotateFlipFilter = icImgCtrlL.FrameFilterCreate("Rotate Flip", "stdfilters.ftf");

bool flipVertical = RotateFlipFilter.GetBoolParameter("Flip V");
bool flipHorizontal = RotateFlipFilter.GetBoolParameter("Flip H");

flipVertical = true;
flipHorizontal = true;
RotateFlipFilter.SetBoolParameter("Flip V", flipVertical);
RotateFlipFilter.SetBoolParameter("Flip H", flipHorizontal);

Although compilation process goes smoothly there is no efect while my app is running ... I have DFK21B04 camera and I know that the Flipping should work cause it works in IC Capture 2.0. Am I missing something in the code ??

For any help I will be grateful.
Best regards
Jan

Stefan Geissler
May 13, 2008, 10:53:05
Hi Jan,

it seems some of the references are missing. Please check in the solution view window under "References" whether the files
- AxInterop.ICImagingControl3.dll
- ImagingControl3.dll
- dotnetfilter.dll
- Interop.ICImagingControl3.dll

are listed. If not, please add them to the reference. The files are located in the "bin" directory of your IC Imaging Control installation path (Usually "C:\Programme\The Imaging Source Europe GmbH\IC Imaging Control 3.0\bin\")

Also I suggest to leave the second parameter of "FrameFilterCreate()" empty, please pass an empty string:
RotateFlipFilter = icImgCtrlL.FrameFilterCreate("Rotate Flip", "");

At least it is a good idea to check, whether the creation was successfull by checking "RotateFlipFilter != null".

Abott
July 21, 2008, 15:25:59
Hi Stefan,
After very busy months I could finnaly check code modifications you suggested.
I added all needed files to references, but Interop.ICImagingControl 3.0 is causing this error:

Error 1
An assembly with the same simple name 'Interop.ICImagingControl3,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null has already been imported.
Try removing one of the references or sign them to enable side-by-side.
g:\VisualStudio\Projects\MGR\obj\Debug\Interop.ICI magingControl3.dll

If I remove this reference compilation goes smoothly.
I also created filter in the way you proposed - leaving second parameter as empty string "", but it also didn't help.
Perhaps there is a newer version of this Interop.. file which would not cause that error?
I also checked if the filter is created ( != null ) and it returns true, so I'm guessing - yes.
I also tried to use:

ICimagingControl.DeviceFlipHorizontal = true;
while ICimagingControl.LiveStop();, but afterwards the only thing I received was: "Option is not available!".
Is there any other way of fliping image ??

Best regards
Jan

Sascha Schmidt
July 21, 2008, 16:12:14
Hallo Jan,

which visual studio version do you use?
Normaly all references are automatically added to the project when adding IcImagingControl to the form.


Did you add the filter to the graph?
The line:


icImagingControl1.DeviceFrameFilters.Add(RotateFli pFilter);

is missing in your posted code.

I have tested the filter using an application created with the IcWizard and the following filter initialization:


icImagingControl1.ShowDeviceSettingsDialog();

if (icImagingControl1.DeviceValid)
{
InitFrameFilter();
}



private TIS.Imaging.FrameFilter RotateFlipFilter:

private void InitFrameFilter()
{
RotateFlipFilter = icImagingControl1.FrameFilterCreate("Rotate Flip", "stdfilters.ftf");
icImagingControl1.DeviceFrameFilters.Add(RotateFli pFilter);

if( RotateFlipFilter != null )
{
RotateFlipFilter.SetBoolParameter("Flip V", true);
RotateFlipFilter.SetBoolParameter("Flip H", true);
}

}

Works fine here.
If you do not get it working, can you send me a sample which illustrates the problem?

Abott
July 21, 2008, 17:59:03
Hello Sascha :)

thank You very much and Stefan as well for your kind help!
I added icImagingControl1.DeviceFrameFilters.Add(RotateFli pFilter); and now it's working :)

I use VS2005pro v8.0.507. It seems as it makes the reference to Interop.ICImagingControl 3.0 but it does not show it in layout. Anyway the file is in my directory with other *.dll's needed for the project so I'm guessing it's fine.

Greets :D