Return type: Flag enum type
Access: PUBLIC
Applies to: Progress.Reflect.Flags enumeration, Progress.Reflect.ParameterMode enumeration, any user-defined flag enum type
The following example results in vReflectFlag, an instance of Progress.Reflect.Flags, with only the Public flag set:
DEFINE VARIABLE vReflectFlag AS Flags. vReflectFlag = Flags:Public. vReflectFlag = vReflectFlag:SetFlag(Flags:Protected). /* This unsets the Protected flag without affecting the status of any of the other flags in vReflectFlag. */ vReflectFlag = vReflectFlag:UnsetFlag(Permission:Protected). |
You can use a bitwise NOT operation to achieve the same result. For example, replacing the last line with vReflectFlag = vReflectFlag AND NOT Flags:Protected also unsets the Protected flag.
ENUM Permission FLAGS: DEFINE ENUM None = 0 Read Write ReadWrite = Read,Write Create Delete. END ENUM. |
DEFINE VARIABLE vPerm AS Permission. vPerm = Permission:Create. vPerm = vPerm:SetFlag(Permission:Delete). /* This unsets the Delete flag without affecting the status of any of the other flags in vPerm. */ vPerm = UnsetFlag(Permission:Delete). |