It seems strange to me that you cannot New() a GROUP in Clarion. I seem to recall that there is an actual reason for this but I cannot find a reference describing that reason and now I am curious.
Possible alternatives?
Using a QUEUE instead, but just using it for the structure:
myFakeGroup_Type GROUP,TYPE
someField LONG
END
myFakeGroup &myFakeGroup_Type
CODE
myFakeGroup &= New(myFakeGroup_Type)
myFakeGroup.someField = 12
Stop(myFakeGroup.someField)
Dispose(myFakeGroup)
Using a STRING + GROUP:
myGroup_Type GROUP,TYPE
someField LONG
END
myGroupString &STRING
myGroup &myGroup_Type
CODE
myGroupString &= New(STRING(Size(myGroup_Type)))
myGroup &= Address(myGroupString)
myGroup.someField = 12
Stop(myGroup.someField)
Dispose(myGroupString)
Note: With that approach I think you need to be careful about the size if you have Dim() variables in your GROUP.