PDA

View Full Version : Delphi app crashes when switching to BY8



plahaise
January 17, 2008, 18:08:56
Hi all,
I'm new here & i've never programmed cameras before.

I just got a DFK 41AF02 FireWire camera. I'm running Windows XP, Delphi 7, DirectX 9c, 3.2Ghz computer with built-in FireWire, 2GB memory.

I've created a new app with a blank form & simply dropped a TICImagingControl onto it & didn't change a single property. I also added a button to access the "Device Settings" dialog:

procedure TForm1.Button1Click(Sender: TObject);
var err:string;
begin
ICImagingControl1.LiveStop;

err:='';
try
ICImagingControl1.ShowDeviceSettingsDialog;
except
on E: Exception do // <-- set breakpoint here
err:=E.Message;
end;

ICImagingControl1.LiveStart;
end;


My problem is that when run the app from within the IDE, click the button, see the Device Settings dialog, pick my camera under Device Name & select the Video Format of BY8, then click "OK", the app immediately crashes back to the IDE. My try-except NEVER traps it. The breakpoint is never hit. There are no messages. The app simply shuts down as if I clicked the "x" directly.

However, when i run the EXE directly (outside of Delphi) & do all the above, i DO get a video feed & nothing crashes.

Curiously, the same thing happens within the IDE when NOT running the app: I'd I right-click on the TICImagingControl object & select "Properties", then make all the same selections, then goto the "VCD Properties" dialog. Only THEN does the video feed show, but all appears to be ok.

BTW, when running the app inside the IDE, I DO see a feed if i let the default Video Format be UYVY, but the highest fps is only 7, which is too low for my application - but it doesn't crash.

Does anybody have an idea what's going on? Could it be a global Delphi setting? Perhaps it's using too much memory going over to BY8?

2nd question: Why can I only get 15fps & not 30? 30 was one of the reasons i bought the camera in the first place, but 30 is not available to me anywhere I can see.

Thanks,
Paul

Stefan Geissler
January 18, 2008, 09:13:20
Paul

There was a small error in the IC Active when the form was saved in Visual Basic 6. I suppose, it is the same error, you encounter in Delphi. Please send an email to support@imagingcontrol.com, thus I can send you a free update.

The maximum possible frame rate of the DFK 41AF02 is 15, not 30 fps. For 30 fps is not enough bandwidth available on the FireWire bus. This is documented on our websites at the cameras:
http://www.theimagingsource.com/en/products/cameras/firewire_color/3-99-99.htm

More details regarding the video formats and frame rates are listed here:
http://www.theimagingsource.com/en/products/cameras/firewire_color/dfk41af02/specification/

plahaise
January 18, 2008, 18:26:12
Stefan,
I stand corrected about the fps with the model i got. Thx.

I'm thinking about returning the camear I got in favor of the zoom camera with 30fps (DFK 31BF03-Z.H). But, if FW doesn't support 30fps due to bandwidth issues, then why does the web site say 30?

Here's my application: I'm making a kiosk that is essentially a head-to-toe photo kiosk. I'm displaying the camera feed on a vertically-oriented 42" LCD, and after a 10-second countdown, will snap off a few pictures of the subject for them to choose. The subject stands about 10 feet back, and the large LCD is meant to act exactly like a mirror so they can get themselves ready for the snapshot (hence my 30fps requirement). I'd love to hear any advice you may have...

Thx,
Paul

Stefan Geissler
January 21, 2008, 08:08:55
Paul,

With smaller video formats less data is transferrede, then higher frame rates are possible. The frame rate is not FireWire specific. With USB you have excatly the same issues.
The 1024*768 BY8 and Y800 can be transferred with 30 fps
The 640*480 BY8 and Y800 can be transferred with 60 fps.


To your error issue: Do you get any error message?