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

 

ImageEn Forum
Profile    Join    Active Topics    Forum FAQ    Search this forumSearch
 All Forums
 ImageEn Library for Delphi, C++ and .Net
 ImageEn and IEvolution Support Forum
 GetString in TIEDictionaryParser gives Errors

Note: You must be registered in order to post a reply.
To register, click here. Registration is FREE!

View 
UserName:
Password:
Format  Bold Italicized Underline  Align Left Centered Align Right  Horizontal Rule  Insert Hyperlink   Browse for an image to attach to your post Browse for a zip to attach to your post Insert Code  Insert Quote Insert List
   
Message 

 

Emoji
Smile [:)] Big Smile [:D] Cool [8D] Blush [:I]
Tongue [:P] Evil [):] Wink [;)] Black Eye [B)]
Frown [:(] Shocked [:0] Angry [:(!] Sleepy [|)]
Kisses [:X] Approve [^] Disapprove [V] Question [?]

 
Check here to subscribe to this topic.
   

T O P I C    R E V I E W
yogiyang Posted - Oct 21 2016 : 02:06:32
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
7   L A T E S T    R E P L I E S    (Newest First)
xequte Posted - Nov 08 2016 : 14:23:56
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
xequte Posted - Oct 30 2016 : 04:51:07
Hi Yogi

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



Nigel
Xequte Software
www.xequte.com
nigel@xequte.com
yogiyang Posted - Oct 28 2016 : 00:50:47
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
xequte Posted - Oct 26 2016 : 20:38:52
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
xequte Posted - Oct 26 2016 : 05:32:47
Thanks Yogi,

We will investigate.


Nigel
Xequte Software
www.xequte.com
nigel@xequte.com
yogiyang Posted - Oct 22 2016 : 00:36:34
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
xequte Posted - Oct 21 2016 : 05:32:28
Hi Yogi

Is this 6.3.2?

Nigel
Xequte Software
www.xequte.com
nigel@xequte.com