Syntax to add matrix in existing register
Neil
4-24-20
Operating system: Windows
How would I add a matrix to an existing register?

RecordAddBegin(CommodityVc,"CommodityVc_1");
RecordField(Math,M4Matrix,0,0);
ArrayBegin(Math,-,1);
ArrayField(Country,M4Code,5,CountryVc);
EndArray;
EndRecordAdd;

This sort of works but it crashes when recompiling.
Edgars Dzenis
4-24-20
Hi, Neil.
This should work. I just tried adding this way and it worked(on macos).
Can you provide window definition?
Neil
5-4-20
Hello Edgars,

I have created a small sample that causes the error. Only this datadef.hal, no other files. The issue is when developing in client mode, and I ctrl+f5 to recompile, I get the error:

"EndArray missing TestBlock". It doesn't occur on startup, only when recompiling after which it crashes the client.

This is on windows serp 2020-01-07.

Is it my syntax is wrong or some other issue?

datadef.hal:
begin

RecordAddBegin(CommodityVc,"CommodityVc_1");
RecordField(Math,M4Matrix,0,0);
ArrayBegin(Math,-,1);
ArrayField(Country,M4Code,5,CountryVc);
EndArray;
EndRecordAdd;

BlockBegin(TestBlock,-,"TestB");
RecordField(LastDate,M4Date,0,0);
EndBlock;

end;
Edgars Dzenis
5-4-20
Syntax is correct. It looks like there could be hal engine error that doesn't treat EndRecordAdd the same as EndRecord when recompiling. And that could cause EndArray not being activated, so it looks for EndArray in the next defined record(TestBlock in this case).
As a workaround you can add CommodityVc definition to the end of the file.

p.s. repeatable on macosx single user mode
Simone M.
5-7-20
Hi Neil,
I've just reported an internal issue for this.
Leave Comment
You can subscribe to notifications for this post by selecting the 'star' icon on the top right corner of the post.
Back to the list
Latest Posts
Gastón Salomone
Hi David, Since this happend in a timed task and its a memory problem, system crash and there are not any messages in hansa.log In hansa log. last lines are following: 2025-04-24 22:48:20 runn...
16:15 25 Apr 2025
Paul Timms
Thanks David! I'll give that a go and confirm if that works. Paul...
10:54 23 Apr 2025