OverrideProcedureSet Meta-Tag
See Also: Class Meta-Data Tags
Purpose
Used to specify that the information in this tag set should be applied to the procedure set name for this class, where the procedure set is an inherited procedure set, not one defined in the current class.
Syntax
{ OverrideProcedureSet={ProcedureSetName} {ClassMemberMetaDataTagName}=MyValue }
where:
-
{ProcedureSetName} is the name of the procedure set for which to override the value of {ClassMemberMetaDataTagName}.
-
{ClassMemberMetaDataTagName} is the name of the class member meta-data tag to override.
Note: OverrideProcedureSet must be the first name in the tag set, and all other name/value pairs in the tag set will be applied to ProcedureSetName.
Use
This is used to change values of class member meta-data tags, such as Visibility, for a procedure set in a subclass.
Sometimes, the value of a procedure set meta-data tag is different in a subclass of the class where the procedure set was originally declared. To indicate this, use the OverrideProcedureSet class meta-data tag.
To declare the meta-data tag value of a procedure set that is declared in the current class, use the appropriate class member meta-data tag.
OverrideProcedureSet must be used to override the value of any class member meta-data tag for procedure sets in the current subclass. To overwrite the value of functions, procedures, or properties, use OverrideFunction, OverrideProcedure, or OverrideProperty, respectively. Using the wrong override type will result in an error and/or unexpected behavior.
Example
You can override the visibility of an inherited procedure set from a superclass. Setting the Visibility meta-data tag of a procedure set to Private can "hide" the procedure set from all Studio design time access, including CodeSense, for the class in which it is overridden.
For example, the following code overrides the visibility of the inherited procedure set TheWidth from public (the default) in the superclass cFoo, where it is defined, to private in the subclass cFooSub.
Class cFoo is a cObject
Construct_Object
Forward Send Construct_Object
End_Procedure
Property Integer piWidth 0
Procedure Set TheWidth Integer iWidth
Set piWidth to iWidth
End_Procedure
End_Class
{ OverrideProcedureSet=TheWidth Visibility=Private }
Class cFooSub is a cFoo
End_Class
Of Special Note
The class member meta-data tag values that are set by OverrideProcedureSet may be inherited. See the documentation for the class member meta-data tag you are overriding to see if it is inherited.