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
 LayerMerge feature or bug?

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 - May 12 2020 : 01:38:45
Hello,

It seems that there is a bug in LayerMerge (as per my understanding).

I tried it in the Layers_AllTypes demo.

Here is what I did:
 
Changed the line: ImageEnView1.LayerOptions := ImageEnView1.LayerOptions + [loAutoUndoChangesByuser, loAutoUndoChangesByCode];

to: ImageEnView1.LayerOptions := ImageEnView1.LayerOptions + [loAutoUndoChangesByuser, loAutoUndoChangesByCode, loAutoSelectMask];

Added a menu item and put this one line of code: ImageEnView1.LayersMerge();


What is happening is that all selected layers get merged. Except for the mask of the lower most layer.

Is this by design or is it a bug?

I am attaching a small video showing this behavior.

attach/yogiyang/202051213719_Video_2020-05-12_095123.zip
3627.18 KB

TIA




Yogi Yang
3   L A T E S T    R E P L I E S    (Newest First)
xequte Posted - May 13 2020 : 16:52:46
Hi Yogi

If you break the code at that point, what line/method is running? I suspect it is an outdated reference in TImageEnLayerMView that is caught by an exception handler (which in 9.0.0 does not raise an exception).

Nigel
Xequte Software
www.imageen.com
yogiyang Posted - May 13 2020 : 07:59:04
Hello Nigel,

Thanks for confirming.

While you are at it.

I also observed that when we pass LayersMerge an array in debug mode ImageEn givs error as follows after LayersMerge code is executed:
 
---------------------------
Debugger Exception Notification
---------------------------
Project Layers.exe raised exception class EListError with message 'List index out of bounds (-1)'.
---------------------------
Break Continue Help
---------------------------

I repeat this happens only when we are running the EXE in IDE. If we run the exe out side the IDE then there are no errors generated.

Please also look into this if possible.

I am using Delphi 10.3 Rio Update 3 and ImageEN 8.7.6.

TIA


Yogi Yang
xequte Posted - May 12 2020 : 17:35:05
Thanks Yogi,

I can reproduce and will investigate.

Nigel
Xequte Software
www.imageen.com