Nested call of functions can cause a wrong array handling with UnityPro V3.1



Goals and Symptoms

Nested call of Functions returning ANY_ARRAY_xxx to an input of type ANY tranfers only 2 bytes and not the complete array in UnityPro V3.1.
e.g.: IntArray10 := MOVE(StringToAscii('abcdefg'));
All programming languages are effected. See also attached list with examples of FB's which can cause this misbehaviour. The list is not complete.

Facts and Changes

UnityPro V3.1

Causes and Fixes

Do not use nested call of functions returning ANY_ARRAY_xxx to an input of type ANY with UnityPro V3.1. Also links between such FBs are not possible. In most other UnityPro versions you get an error message. Use temporary variables for Output / Input, if you need such a combination of FBs.


(Removed File URL: 192223_611E/FFB_ANY_M2.xls)(Removed Image URL: /PubResEXPORT.nsf/2b87ee90be777fc085257c28006ee4ef/fd34ff5623c30a34c1257481003c8074/fl_block_5/0.54C?OpenElement&FieldElemFormat=gif)

Legacy KB System (APS) Data: RESL192223 V2.0, Originally authored by KlSP on 06/30/2008, Last Edited by KlSP on 07/09/2008
Related ranges: Unity Pro