hb_deserialize error for big nested array

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

hb_deserialize error for big nested array

diego_it
This post has NOT been accepted by the mailing list yet.
This post was updated on .
Hello,
this is my first post, and I hope that someone can help me.
I get the following error message:

Error BASE/1111  Argument error: LEN Arguments: ( [ 1] = Type: U)
Error at ...: LEN(0) in Module:
Called from : HB_DESERIALIZE(184) in Module: source\rtl\hbserial.prg

The HB_Deserialize function has been applied to a .mem file produced
with the HB_Serialize function applied to several nested arrays.
I made a problem determination by discovering that the error does non
happen if I reduce the size of the strings contained within an inner
array of one of the array involved in the HB_Serialized function.
In my investigation I also discovered that the .mem file size during
my tests is increased of exactly the number of additional characters
in the string of the array, until I reached the string size that cause
the error.
I would try to explain better my test with some data:
- By creating an array of 35 strings each with 11 characters,
HB_Serialize() produces a .mem file of  87,127 bytes an
HB_Deserialize() works fine using this file
- By creating an array of 35 strings each with 12 characters,
HB_Serialize() produces a .mem file of  87,161 bytes an
HB_Deserialize() works fine using this file
- By creating an array of 35 strings each with 13 characters,
HB_Serialize() produces a .mem file of  54,377 (why?) bytes an
HB_Deserialize() produce the above-mentioned error using this file

Is there a size limit of the .mem file that can be built with the
HB_Serialize function ?
If so, can this limit be increased ?
Thanks.
Regards.