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
 GetString in TIEDictionaryParser gives Errors
 New Topic  Reply to Topic
Author Previous Topic Topic Next Topic  

yogiyang

India
727 Posts

Posted - Oct 21 2016 :  02:06:32  Show Profile  Reply
Hello,

After updating ImageEn to 6.3.x our clients are reporting program errors and crashes in following:
Unit: hyieutils
Class: TIEDictionaryParser
Function: GetString, ParseString, etc.

I am attaching complete crash log for evaluation.



attach/yogiyang/201610212615_ErrorLogWhileLoading_JPG_filesOnLayers.txt

The code in question is:
// Add a New Layer
            CurrLayerIdx := i;
            NewLayerIdx := ImageEnViewMain.LayersAdd;

            // Load teh file
            ImageEnViewMain.IO.Params.JPEG_EnableAdjustOrientation := True;
            ImageEnViewMain.IO.LoadFromFile(PhotoFileName);

            if ImageEnViewMain.CurrentLayer.Width >
              ImageEnViewMain.CurrentLayer.Height then
            begin
              // This is Land scape Photo
              ImageEnViewMain.Proc.Resample(LayerW, -1, rfNone, True);
            end
            else
            begin
              // This is a Portrait Photo
              ImageEnViewMain.Proc.Resample(-1, LayerH, rfNone, True);
            end;


TIA


Yogi Yang

xequte

38616 Posts

Posted - Oct 21 2016 :  05:32:28  Show Profile  Reply
Hi Yogi

Is this 6.3.2?

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

yogiyang

India
727 Posts

Posted - Oct 22 2016 :  00:36:34  Show Profile  Reply
Hello Nigel,

Yes it is 6.3.2.

Again this error seems to come randomly. There are no fixed steps to recreate it.

It just seems to occurs always when loading files files in current layer.

TIA


Yogi Yang
Go to Top of Page

xequte

38616 Posts

Posted - Oct 26 2016 :  05:32:47  Show Profile  Reply
Thanks Yogi,

We will investigate.


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

xequte

38616 Posts

Posted - Oct 26 2016 :  20:38:52  Show Profile  Reply
Hi

Can you please email some of the JPEGs that are known to cause the issue.

GetString is used when parsing XMP tags, so perhaps that jpeg has some strings that corrupt ImageEn memory.

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

yogiyang

India
727 Posts

Posted - Oct 28 2016 :  00:50:47  Show Profile  Reply
Hello,

Nigel, did you get the files.

The sample files were sent to your email using WeTransfer.

Please download them.

Here is the download link: https://we.tl/leCD8FUIRc

I have not sent many design files that we use as backgrounds because the zip file was growing very large.

If you need them please let me know and I will upload them separately.

TIA


Yogi Yang
Go to Top of Page

xequte

38616 Posts

Posted - Oct 30 2016 :  04:51:07  Show Profile  Reply
Hi Yogi

Yes, thanks, we've downloaded the images and will test shortly.



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

xequte

38616 Posts

Posted - Nov 08 2016 :  14:23:56  Show Profile  Reply
Hi

We have tested your images extensively without issue.

Are you able to reproduce it using:

procedure TForm1.Button1Click(Sender: TObject);
var
  dir: TIEDirContent;
  sFilename : WideString;
  c: integer;
begin
  c:=0;
  while true do
  begin
    memo1.lines.add('cycle #' + inttostr(c));
    dir := TIEDirContent.Create('C:\images\*.jpg');
    while dir.GetItem(sFilename) do
    begin
      imageenview1.IO.Params.JPEG_EnableAdjustOrientation := True;
      imageenview1.io.loadfromfile('c:\images\'+sFileName);
    end;
    dir.free;
    inc(c);
  end;
end;


Nigel
Xequte Software
www.xequte.com
nigel@xequte.com
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
Jump To: