Error when attempting to instantiate an ABC compliant CLASS - Baffled & beaten!

,

Yeah, the bit twiddling performance oriented part of me doesn’t like the extra byte, and since numeric expressions track back to LONG we don’t really have a win there either.

That said, I like the clarity that BOOL brings to the table.
To me, BOOL says TRUE|FALSE, whereas BYTE says number.

WHO and PROP:Name might return the same thing,
but it’s not the case that they always will return the same thing.

You can declare an external name for a field (or variable)
SomeField STRING(42),NAME(‘DifferentName’)

It’s my understanding that the Clarion SQL file drivers will use the NAME attribute for column names. Which is precisely what you are working on. So I think you should use PROP:Name instead of WHO.

A Proposed Convention for the Extended use of the Name Attribute - code - ClarionHub

If I’m not mistaken Capesoft uses the Extended Name attribute for reflection work to drive xFiles and JFiles behavior. But the idea isn’t limited to just those two cases, it could be used for all sorts of things.

The purpose of the .CleanName method is to provide the class equivalent of an embed point, by calling a ,VIRTUAL method - which can then be derived.

2 Likes