Following problems exist only with protected/private members, they all cause a Runtime Error: No exported variable . Not high priority of course
#pragma options("fox3", enable)
#pragma options("allowdot", enable)
#pragma options("lb", enable)
#pragma options("memvar", enable)
#pragma options("undeclared", enable)
CLASS Customers
STATIC PROTECT StaticProtect AS INT
STATIC PROTECT StaticPrivate AS INT
PROTECT InstanceProtect AS INT
PRIVATE InstancePrivate AS INT
STATIC PROPERTY StaticProperty AS INT AUTO
STATIC PROPERTY StaticProtectedProperty AS INT AUTO
PROPERTY InstanceProperty AS INT AUTO
PROPERTY OnlyGetProperty AS INT GET 100
STATIC METHOD StaticMethod() AS VOID
Customers.StaticProtect := 200
xAssert( Customers.StaticProtect == 200 )
Customers.StaticPrivate := 300
xAssert( Customers.StaticPrivate == 300 )
LOCAL localthis := Customers{} AS Customers
localthis.InstanceProtect := 321
xAssert( localthis.InstanceProtect == 321 )
localthis.InstancePrivate := 333
xAssert( localthis.InstancePrivate == 333 )
LOCAL localusual := Customers{} AS USUAL
localusual.InstanceProtect := 321
xAssert( localusual.InstanceProtect == 321 )
localusual.InstancePrivate := 333
xAssert( localusual.InstancePrivate == 333 )
METHOD InstanceMethod() AS VOID
Customers.StaticProtect := 200
xAssert( Customers.StaticProtect == 200 )
Customers.StaticPrivate := 300
xAssert( Customers.StaticPrivate == 300 )
LOCAL localthis := Customers{} AS Customers
localthis.InstanceProtect := 321
xAssert( localthis.InstanceProtect == 321 )
localthis.InstancePrivate := 333
xAssert( localthis.InstancePrivate == 333 )
LOCAL localusual := Customers{} AS USUAL
localusual.InstanceProtect := 321
xAssert( localusual.InstanceProtect == 321 )
localusual.InstancePrivate := 333
xAssert( localusual.InstancePrivate == 333 )
END CLASS
FUNCTION Start( ) AS VOID
Customers.StaticMethod()
Customers{}:InstanceMethod()
PROC xAssert(l AS LOGIC) AS VOID
IF .NOT. l
THROW Exception{"Incorrect result in line " + System.Diagnostics.StackTrace{TRUE}:GetFrame(1):GetFileLineNumber():ToString()}
END IF
? "Assertion passed"
Following problems exist only with protected/private members, they all cause a Runtime Error: No exported variable . Not high priority of course