Try OpenEdge Now
skip to main content
ABL Reference
Class Properties and Methods Reference : SetFlag( ) method
 

SetFlag( ) method

Returns a flag enum instance with the indicated flag(s) set.
Return type: Flag enum type
Access: PUBLIC
Applies to: Progress.Reflect.Flags enumeration, Progress.Reflect.ParameterMode enumeration, any user-defined flag enum type

Syntax

SetFlag ( INPUT flag AS flag-enum-type )
flag
A reference to a flag enum instance. The enum type (flag-enum-type) of this instance must match the type of the instance the method is invoked on.
The following example results in vReflectFlags, an instance of Progress.Reflect.Flags, with the Public and Protected flags set:
DEFINE VARIABLE vReflectFlags AS Flags.
vReflectFlags = Flags:Public.

/* This sets the Protected flag without affecting the status of
any of the other flags in vAccess. */
vReflectFlags = vReflectFlags:SetFlag(Flags:Protected).
You can use a bitwise OR operation to achieve the same result. For example, replacing the last line with vReflectFlags = vReflectFlags OR Flags:Protected also sets the Protected flag.

Notes

*This method is available for all built-in flag enums, and the compiler automatically generates it for all user-defined flag enums. For example, this code excerpt uses a user-defined Permission flag enum, initializes vPerm with the Read flag set, and then uses SetFlag( ) to set the Create flag, resulting in an enum instance with both the Read and Create flags set:
ENUM Permission FLAGS:
DEFINE ENUM None = 0
Read
Write
ReadWrite = Read,Write
Create
Delete.
END ENUM.
DEFINE VARIABLE vPerm AS Permission.
vPerm = Permission:Read.

/* This sets the Create flag without affecting the status of
any of the other flags in vPerm. */
vPerm = vPerm:SetFlag(Permission:Create).

See also

OR operator (bitwise), ToggleFlag( ) method, UnsetFlag( ) method