0

I got Lazarus installed on Mac Os X 10.6.8 and I'm trying to take a picture using Canon EDSDK. The problem I'm facing is that after setting parameter to save a photo into host:

saveTo := Integer(EdsSaveTo.kEdsSaveTo_Host);
err := EdsSetPropertyData(camera, kEdsPropID_SaveTo, 0, SizeOf(saveTo) , @saveTo);

and setting capacity of free disk space:

capacity.numberOfFreeClusters := $7FFFFFFF;
capacity.bytesPerSector := $1000;
capacity.reset := 1;
err := EdsSetCapacity(camera, capacity);

I'm taking a picture by:

err := EdsSendCommand(camera, kEdsCameraCommand_TakePicture, 0);

and I'm getting an err code 36103 which if "PC FULL" (also shown on camera LCD). Any advice about how to set camera capacity on Mac OS X at Pascal?

I got an example on Object C (as XCode project, and above it works as designed):

EdsCapacity capacity = {0x7FFFFFFF, 0x1000, 1};
error = EdsSetCapacity([_model camera], capacity);

But I can't get it to work on Lazarus ;( Any sugesstions, experience???

Cheers

1 Answers1

0

It seems hex(36103) => '0x8d07', resolves to EDSDK label EDS_ERR_TAKE_PICTURE_CARD_NG. Reported issues around this include the fix that you describe, must be a Lazarus specific issue.

gdh
  • 498
  • 3
  • 14