Hi,
I'm using the AllAcquire demo app to study acquiring images.
I've spotted an issue when aborting an acquire via WPD -- the last acquired image does not have any EXIF data.
I added a button to the AllAcquire main form (btnEXIF) with the handler as follows:
var
IOP: TIOParams;
I : Integer;
SB: TStringBuilder;
begin
if ImageEnMView1.SelectedIMage > -1 then
begin
IOP := ImageEnMView1.MIO.Params[ImageEnMView1.SelectedImage];
if IOP.EXIF_HasEXIFData then
begin
SB := TStringBuilder.Create;
try
if IOP.EXIF_HasEXIFData then
for I := 0 to _EXIF_Tag_Count-1 do
if IOP.EXIF_AsStr[i] <> EmptyStr then
SB.Append(Format('%s=%s', [IOP.EXIF_FieldDescription[i], IOP.EXIF_AsStr[i]]));
ShowMessage(SB.ToString);
finally
SB.Free;
end;
end else
ShowMessage('No Exif Data');
end;
When pressed, it shows EXIF data for the selected image, and all works as expected; except the last image acquired before the abort, which shows "No Exif Data".
I've repeated the process using the same device & aborting the acquire processe earlier - & it's always the last image acquired that has no exif data (yet it did have exif data on previous acquires when it wasn't the last one).
Not sure where the bug lies - perhaps the last acquired image should not be shown? I need this in order to transfer the EXIF data into database fields.
Thanks,
Stuart
Stuart Clennett
Delphi Berlin 10.1