ImageEn for Delphi and C++ Builder ImageEn for Delphi and C++ Builder

 

ImageEn Forum
Profile    Join    Active Topics    Forum FAQ    Search this forumSearch
Forum membership is Free!  Click Join to sign-up
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 ImageEn Library for Delphi, C++ and .Net
 ImageEn and IEvolution Support Forum
 Poss. EXIF bug when aborting an acquire via WPD
 New Topic  Reply to Topic
Author Previous Topic Topic Next Topic  

stuartclennett@gmail.com

United Kingdom
72 Posts

Posted - Oct 17 2016 :  10:15:46  Show Profile  Reply
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

xequte

38222 Posts

Posted - Oct 17 2016 :  18:22:25  Show Profile  Reply
Hi Stuart

Thanks, I'll need to investigate that one.



Nigel
Xequte Software
www.xequte.com
nigel@xequte.com
Go to Top of Page

stuartclennett@gmail.com

United Kingdom
72 Posts

Posted - Oct 18 2016 :  05:18:49  Show Profile  Reply
Hi Nigel,

Thanks.

If it's of any use, the device is a micro-SD card in a USB adapter, originally from a phone.

Cheers

Stuart Clennett
Delphi Berlin 10.1
Go to Top of Page

stuartclennett@gmail.com

United Kingdom
72 Posts

Posted - Nov 09 2016 :  04:30:20  Show Profile  Reply
Hi Nigel,

Any progress on this please?

Many thanks
Stuart

Stuart Clennett
Delphi Berlin 10.1
Go to Top of Page

xequte

38222 Posts

Posted - Nov 11 2016 :  16:05:11  Show Profile  Reply
Hi Stuart

No, I'm afraid we have not investigated it yet because of other priorities. I expect to investigate before the next update.

Generally, triggering an abort will attempt to terminate the process as promptly as possible, which is apparently creating an incomplete file.


Nigel
Xequte Software
www.xequte.com
nigel@xequte.com
Go to Top of Page

stuartclennett@gmail.com

United Kingdom
72 Posts

Posted - Nov 13 2016 :  11:49:45  Show Profile  Reply
Thanks Nigel - good to know.

I'll workaround for now - perhaps just removing the last acquired image if aborted. Seems like if the user hits abort they can't really complain at missing the image it was halfway through acquiring anyway.

Thanks for getting back to me

Cheers

Stuart Clennett
Delphi Berlin 10.1
Go to Top of Page

xequte

38222 Posts

Posted - Mar 08 2017 :  21:35:09  Show Profile  Reply
FYI, the issue has been resolved for 7.0.0

Nigel
Xequte Software
www.xequte.com
nigel@xequte.com
Go to Top of Page

stuartclennett@gmail.com

United Kingdom
72 Posts

Posted - Mar 09 2017 :  04:44:52  Show Profile  Reply
HI Nigel,

Great news, thanks.

Stuart Clennett
Delphi Berlin 10.1
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
Jump To: