═══ 1. Help for Compiler Options Page 1 ═══ This page helps you configure the SOM compiler for operation. Select one of the following to get help for a particular option on this page. SOM Compiler Directory SOM Compiler Version Include Directory Output Directory OIDL Filename Comment Buffer Size String Space Size ═══ 2. Help for SOM Compiler Directory ═══ SOM Compiler Directory (REQUIRED) Description This field allows the notebook to find the SOM compiler executable in your system. What to Enter Enter the fully qualified directory path to the SOM compiler. The SOM compiler's executable filename is "SC.EXE". Error Checking If an invalid path is entered, the entry is deleted and the previously entered path is redisplayed. Possible Compilation Errors If the SOM compiler is not located in this directory, an error will occur when you compile this class. ═══ 3. Help for SOM Compiler Version ═══ SOM Compiler Version (REQUIRED) Description These radio buttons define which version of the SOM compiler is being referenced by the SOM compiler directory field. Select the radiobutton corresponding to the version of the SOM compiler you are using. ═══ 4. Help for Include Directory ═══ Include Directory (REQUIRED) Description This field allows the SOM compiler to locate any include files needed for compilation. What to Enter Enter one or more fully qualified paths separated by semicolons to allow the SOM compiler to locate include files. Typical locations that need to be included are the location of SOM "*.SC" files and the location of your include files for this class. Error Checking No error checking is done in this field. Possible Compilation Errors If any include files cannot be located during compilation, SOM will generate missing file errors. ═══ 5. Help for Output Directory ═══ Output Directory (REQUIRED) Description This field contains the directory where all SOM emitted files will be placed. What to Enter Enter a fully qualified directory path. Error Checking If an invalid path is entered, the entry is deleted and the previously entered path is redisplayed. Possible Compilation Errors No SOM compilation errors will occur as a result of this field. ═══ 6. Help for OIDL Filename ═══ OIDL Filename (REQUIRED) Description This field contains the filename of the generated OIDL filename. The OIDL file is generated by the notebook as part of the SOM compilation process. The OIDL file is a SOM source file and should be backed up faithfully. If this class notebook were accidentally destroyed, you could re-enter the class definition from this file into another class notebook. What to Enter Enter a unique filename. Error Checking If no file extension is entered, the extension ".CSC" is automatically appended to your entry. You may use other extensions, although the use of ".CSC" is HIGHLY recommended. Possible Compilation Errors If the filename you select already exists in the output directory, the file will be overwritten. If the file is in use by another process, an error will occur. ═══ 7. Help for Comment Buffer Size ═══ Comment Buffer Size (optional) Description This field defines this total size of the SOM comment buffer. What to Enter Enter a numeric value for the comment buffer size. The default value is normally sufficient. Error Checking If a non-numeric value is entered, the entry is erased and the previous value is displayed. Possible Compilation Errors SOM will display an error message if this value is not correct. ═══ 8. Help for String Space Size ═══ String Space Size (optional) Description This field defines this total size of the SOM string space used for passthru lines and names. What to Enter Enter a numeric value for the string space size. The default value is normally sufficient. Error Checking If a non-numeric value is entered, the entry is erased and the previous value is displayed. Possible Compilation Errors SOM will display an error message if this value is not correct. ═══ 9. Help for Compiler Options Page 2 ═══ This page allows you to select which files the SOM compiler generates. If a particular item is checked, that file will be generated when you compile the class. The version of SOM you select on the first page of this section determines which set of checkboxes is activated. At least 1 option MUST be checked. If you try to uncheck the last checked item, that item will be automatically re-checked. ═══ 10. Help for Compiler Options Page 3 ═══ This page allows you to access miscellaneous SOM compiler options. Select one of the following to get help for a particular option on this page. Suppress Warning Messages Verify Release Order Entries Display Version Generate IBM C Set/2 Pragmas ═══ 11. Help for Suppress Warning Messages ═══ Suppress Warning Messages (optional) Description This radio button determines whether the SOM compiler will display any warning messages during compilation. Check this button to not display warnings, uncheck it to see all SOM warnings during compilation. ═══ 12. Help for Verify Release Order Entries ═══ Verify Release Order Entries (optional) Description This radio button determines whether the SOM compiler will verify all release order entries during compilation. Any variances that SOM finds will be displayed. Check this button to verify all release order entries, uncheck it to disable release order verification. ═══ 13. Help for Display Version ═══ Display Version (optional) Description This radio button determines whether the SOM compiler will display the version information of its emitter programs during compilation. Check this button to display version information, uncheck it to not display version information. ═══ 14. Help for Generate IBM C Set/2 Pragmas ═══ Generate IBM C Set/2 Pragmas (optional) Description This radio button determines whether the SOM compiler will generate pragmas specifically intended for IBM's C Set/2 compiler. Check this button if you are using IBM's C Set/2 compiler, uncheck it if you are not. ═══ 15. Help for Include Section Page 1 ═══ This page allows you to define include filenames. Select one of the following to get help for a particular option on this page. Parent Filename Metaclass Filename Ancestor Filename ═══ 16. Help for Parent Filename ═══ Parent Filename (REQUIRED) Description This field contains the filename of the parent class definition file. What to Enter Enter the parent class definition filename. If the class you are defining is an immediate descendant of one of SOM's classes, then this field will be automatically filled in with the correct filename. Error Checking If no file extension is entered, the extension ".SC" is automatically appended to your entry. You may use other extensions as required. Possible Compilation Errors If the filename you entered cannot be found by the SOM compiler, an error will result. ═══ 17. Help for Metaclass Filename ═══ Metaclass Filename (optional) Description This field contains the filename of the metaclass definition file. What to Enter Enter the metaclass definition filename. Error Checking If no file extension is entered, the extension ".SC" is automatically appended to your entry. You may use other extensions as required. Possible Compilation Errors If the filename you entered cannot be found by the SOM compiler, an error will result. ═══ 18. Help for Ancestor Filename ═══ Ancestor Filename (optional) Description This field is used to enter one or more ancestor filenames. If more than one ancestor filename is entered into the list, they must appear in a root-down order. What to Enter Enter the ancestor definition filename in the entry field, then push the "Add" button to add the ancestor filename to the list. To remove an entry, select it from the list and press "Remove". Error Checking If no file extension is entered, the extension ".SC" is automatically appended to your entry. You may use other extensions as required. Pressing "Add" or "Remove" without an item entered or selected will generate an error message. Possible Compilation Errors If any filename you entered cannot be found by the SOM compiler, an error will result. ═══ 19. Help for Class Section Page 1 ═══ This page allows you to define your new class. Select one of the following to get help for a particular option on this page. Class Name File Stem External Stem Function Prefix External Prefix ═══ 20. Help for Class Name ═══ Class Name (REQUIRED) Description This field is used to enter the name of your new class. What to Enter Enter a unique class name. Error Checking No error checking is done on this field. Possible Compilation Errors If no class name is entered, an error will result and you will not be able to invoke the SOM compiler. ═══ 21. Help for File Stem ═══ File Stem (optional) Description This field is used in generating filenames for emitted SOM files. Emitted files will be named "FileStem".ext. What to Enter Enter the file stem name you want the SOM compiler to use in generating emitted filenames. If you have entered an OIDL filename on the class notebook's first page, then that name will appear automatically as the default. Normally, you would want the file stem to be the same as your OIDL's file stem. If you change the OIDL filename, this field will NOT be updated -- you must update the file stem yourself. Error Checking No error checking is done on this field. Possible Compilation Errors No SOM compilation errors will occur due to this field, although errors may occur when compiling the generated C file using your C compiler if an invalid file stem is entered. ═══ 22. Help for External Stem ═══ External Stem (optional) Description This field is used in generating filenames within emitted SOM files. What to Enter Enter the external stem name you want the SOM compiler to use in generating filenames within emitted files. If you have entered an OIDL filename on the class notebook's first page, then that name will appear automatically as the default. Normally, you would want the external stem to be the same as your OIDL's file stem. If you change the OIDL filename, this field will NOT be updated -- you must update the external stem yourself. Error Checking No error checking is done on this field. Possible Compilation Errors No SOM compilation errors will occur due to this field, although errors may occur when compiling the generated C file using your C compiler if an invalid external stem is entered. ═══ 23. Help for Function Prefix ═══ Function Prefix (optional) Description This field is used in generating method function names within emitted SOM files. What to Enter Select the radiobutton next to this option and enter the function prefix you want the SOM compiler to use in generating function names within emitted files. Error Checking No error checking is done on this field. Possible Compilation Errors No SOM compilation errors will occur due to this field. ═══ 24. Help for External Prefix ═══ External Prefix (optional) Description This field is used in generating method function names within emitted SOM files. The difference between this and function prefix is that the generated methods are forced to be external, which may be needed for debugging purposes. What to Enter Select the radiobutton next to this option and enter the external prefix you want the SOM compiler to use in generating function names within emitted files. Error Checking No error checking is done on this field. Possible Compilation Errors No SOM compilation errors will occur due to this field. ═══ 25. Help for Class Section Page 2 ═══ This page allows you to define miscellaneous options for your new class. Select one of the following to get help for a particular option on this page. Major Version Number Minor Version Number Link Bindings Context Class Initialization Function ═══ 26. Help for Major Version Number ═══ Major Version Number (optional) Description The major version number is used to verify that any code that purports to implement this class has the same major version number. If the major version number is 0, no check is made. What to Enter Enter a number 0 to (2**31)-1. Error Checking If a non-numeric value is entered, the entry is erased and the previous value is displayed. Possible Compilation Errors No SOM compilation errors will occur due to this field. ═══ 27. Help for Minor Version Number ═══ Minor Version Number (optional) Description The minor version number is used to verify that any code that purports to implement this class has the same OR HIGHER minor version number. If the minor version number is 0, no check is made. What to Enter Enter a number 0 to (2**31)-1. Error Checking If a non-numeric value is entered, the entry is erased and the previous value is displayed. Possible Compilation Errors No SOM compilation errors will occur due to this field. ═══ 28. Help for Link Bindings Context ═══ Link Bindings Context (optional) Description This option indicates how binding files are to be linked together. Select global to generate statements like: #include . Select local to generate statements like: #include "file.h". ═══ 29. Help for Class Initialization Function ═══ Class Initialization Function (optional) Description This field allows you to define a function to be used in the creation of your class. What to Enter Enter a function name. A template for this function will be automatically added in the emitted files. Error Checking No error checking is performed for this field. Possible Compilation Errors No SOM compilation errors will occur due to this field. ═══ 30. Help for Class Section Page 3 ═══ This page allows you to enter an optional description of your new class. Do NOT enclose your text within comment delimiters. Free-format any text you wish to appear in emitted files. ═══ 31. Help for Release Order Section Page 1 ═══ Release Order (optional) Description This page allows you to define a release order for your new class. The release order allows you to add or remove methods or instance variables without having to recompile programs that use this class. What to Enter As new methods or instance variables are added to your class, they will appear in the appropriate list boxes. Select either a method or instance variable and double-click or press "Add" to append the item to the end of the release order. If methods or instance variables are removed from the class after being added to the release order, they will not be removed from the release order. To remove an item from the release order, select it from the list and double-click or press "Remove". The item will be removed and re-inserted into the appropriate list box. WARNING: Normally, you should not remove anything once it has been added to the release order and the class has been compiled. Doing so may cause you to have to recompile all programs which use this class!! Error Checking If you press "Add" or "Remove" without selecting an item, an error message will be displayed. Possible Compilation Errors No SOM compilation errors will occur due to this field. ═══ 32. Help for Metaclass Section Page 1 ═══ This page allows you to define a metaclass for your new class. A metaclass is a class whose instances are all classes. Select one of the following to get help for a particular option on this page. Metaclass Name Metaclass Description ═══ 33. Help for Metaclass Name ═══ Metaclass Name (optional) Description This field allows you to define a metaclass for your class. What to Enter Enter a metaclass name. If you enter a value in this field, you must also enter a metaclass filename in the include section. If you leave this field blank, the parent's metaclass will be used. If you use the class attribute in either the data or methods section, you MUST leave this field blank -- the implied metaclass will be a subclass of the parent's metaclass. Unless you are very familiar with SOM, it is wise to leave this field blank. Error Checking No error checking is performed for this field. Possible Compilation Errors If you use this field and forget to add the metaclass filename to the include section or use class attributes in either the data or methods section, SOM compilation errors will result. ═══ 34. Help for Metaclass Description ═══ Metaclass Description (optional) Description This field allows you to describe the purpose of the metaclass. What to Enter Free-format any text you need in describing the use of the metaclass. Do NOT enclose your text within comment delimiters. Unless you are actually using a metaclass, it is best to leave this field blank. Error Checking No error checking is performed for this field. Possible Compilation Errors No SOM compilation errors will occur as a result of this field. ═══ 35. Help for Parent Class Section Page 1 ═══ This page allows you to define a parent class for your new class. Select one of the following to get help for a particular option on this page. Parent Class Name Parent Class Description ═══ 36. Help for Parent Class Name ═══ Parent Class Name (optional) Description This field allows you to define a parent class for your class. What to Enter Under normal operation, you do not have to enter anything in this field. If you have dragged this class notebook to a position in the class tree, the parent class is automatically defined for you. Instead of entering a value in this field, drag the class notebook to a new position in the class tree to change this field. Each time you re-position this notebook in the class tree, this field is automatically updated. Error Checking No error checking is performed for this field. Possible Compilation Errors If no value is defined for this field (i.e. this notebook is not in the class tree) you will not be able to invoke the SOM compiler. ═══ 37. Help for Parent Class Description ═══ Parent Class Description (optional) Description This field allows you to describe the purpose of the parent class. What to Enter Free-format any text you need in describing the use of the parent class. Do NOT enclose your text within comment delimiters. Error Checking No error checking is performed for this field. Possible Compilation Errors No SOM compilation errors will occur as a result of this field. ═══ 38. Help for Passthru Section Page 1 ═══ This page allows you to pass unaltered lines directly into the *.H file, which is the binding file for all users of this class. Select one of the following to get help for a particular option on this page. Precede/Follow Includes Passthru Lines ═══ 39. Help for Precede/Follow Includes ═══ Precede/Follow Includes (optional) Description These radiobuttons allow you to select where in the binding file to add the passthru lines. Selecting "Precede" will cause the passthru lines to be placed unaltered BEFORE all #include statements in the emitted file. Selecting "Follow" will cause the passthru lines to be placed unaltered AFTER all #include statements in the emitted file. ═══ 40. Help for Passthru Lines ═══ Passthru Lines (optional) Description This field allows you to include unaltered lines of code to be passed into an emitted file. The contents of the lines are ignored by the SOM compiler. What to Enter Free-format any code you need to include in an emitted file. Comments may be include using any style you wish. You may use "shift-delete" and "shift-insert" key sequences to cut and paste lines in the entry field. If you have a large block of code to include and do not wish to use the minimal editing capabilities of the entry field, you may simply add an #include statement in this field for a file you may create using a different editor. Error Checking No error checking is performed for this field. Possible Compilation Errors No SOM compilation errors will occur as a result of this field. Your C compiler will generate errors if any coding errors are present in your passthru lines. ═══ 41. Help for Passthru Section Page 2 ═══ This page allows you to pass unaltered lines directly into the *.PH file, which is the binding file for users with access to private methods in this class. Select one of the following to get help for a particular option on this page. Precede/Follow Include Statements Passthru Lines ═══ 42. Help for Passthru Section Page 3 ═══ This page allows you to pass unaltered lines directly into the *.IH file, which is the binding file for implementors of this class. Select one of the following to get help for a particular option on this page. Precede/Follow Include Statements Passthru Lines ═══ 43. Help for Passthru Section Page 4 ═══ This page allows you to pass unaltered lines directly into the *.C file, which is the program template file for implementing this class. Select one of the following to get help for a particular option on this page. Precede/Follow Include Statements Passthru Lines ═══ 44. Help for Passthru Section Page 5 ═══ This page allows you to pass unaltered lines directly into the *.SC file, which is the language-neutral core file for this class. Select one of the following to get help for a particular option on this page. Precede/Follow Include Statements Passthru Lines ═══ 45. Help for Passthru Section Page 6 ═══ This page allows you to pass unaltered lines directly into the *.PSC file, which is the language-neutral core file for the private methods of this class. Select one of the following to get help for a particular option on this page. Precede/Follow Include Statements Passthru Lines ═══ 46. Help for Passthru Section Page 7 ═══ This page allows you to pass unaltered lines directly into the *.CS2 file, which is a "pretty-printed" version of the OIDL file used in describing this class. Select one of the following to get help for a particular option on this page. Precede/Follow Include Statements Passthru Lines ═══ 47. Help for Data Section Page 1 ═══ This page allows you to define all instance variables which your class requires. Select one of the following to get help for a particular option on this page. Instance Variable Type and Name Internal/Private/Public Class Data Description Add/Delete/Clear ═══ 48. Help for Instance Variable Type and Name ═══ Instance Variable Type and Name (optional) Description This field defines the type and name of your instance data variable. ANSI C syntax should be used. What to Enter For example, to define a character variable named "MyChar", enter "char MyChar" without the quotes in the field. Error Checking No error checking is performed for this field. Possible Compilation Errors You must use a valid variable type or a compilation error will result. ═══ 49. Help for Internal/Private/Public ═══ Internal/Private/Public (optional) Description These radiobuttons define the type of bindings to be exported for a particular instance variable. Select "Internal" to prevent ANY bindings from being exported. Select "Private" to generate bindings for private-usage files. Select "Public" to generate bindings for public-usage files. ═══ 50. Help for Class ═══ Class (optional) Description This pushbutton defines whether or not the data item belongs to a metaclass. Checking this button will create a data item which doesn't appear in instances of the class, but in the class itself. Methods defined with the class attribute can be used to manipulate class data items. If you select the class attribute for even one data item, you cannot use the metaclass section. In this case, the metaclass being used is defined to be the parent's metaclass. ═══ 51. Help for Data Description ═══ Data Description (optional) Description This field allows you to describe the purpose of the instance variable. What to Enter Free-format any text you need in describing the use of the instance variable. Do NOT enclose your text within comment delimiters. Error Checking No error checking is performed for this field. Possible Compilation Errors No SOM compilation errors will occur as a result of this field. ═══ 52. Help for Add/Delete/Clear ═══ Add/Delete/Clear (optional) After defining your instance variable, push "Add" to add it to the instance variable list. Once a variable has been added, you may select it from the instance variable list to see that variable's definition. If you need to delete a variable from the instance variable list, select it and push "Delete". The variable will be permanently deleted. THIS CANNOT BE UNDONE! After viewing an instance variable's information, if you need to enter a new variable you may press "Clear" to clear all entry fields and reset all options to their default state. If you have to enter many similar data items, this may be unnecessary. ═══ 53. Help for Methods Section Page 1 ═══ This page allows you to define all new methods which your class requires. Select one of the following to get help for a particular option on this page. New Method Type and Name Method Parameters Method Description Public/Private Method/Procedure Offset/Name Lookup Class Class Prefix Add/Delete/Clear ═══ 54. Help for New Method Type and Name ═══ New Method Type and Name (optional) Description This field defines the type and name of your new method. ANSI C syntax should be used. What to Enter For example, to define a method named "AddMe" that returns an integer result, enter "int AddMe" without the quotes in the field. Always include the "void" keyword for methods which return nothing. You may enter a comment in this field by prefacing the text with 2 dashes. This allows you to organize your methods in the list box. This makes it easier for subclasses to overridde this class' methods. This is HIGHLY recommended!! Error Checking No error checking is performed for this field. Possible Compilation Errors You must use a valid type or a compilation error will result. ═══ 55. Help for Method Parameters ═══ Method Parameters (optional) Description This field defines the type and name of all parameters your new method requires. ANSI C syntax should be used. What to Enter For example, if your method requires three parameters, enter them as "char Data, void *Ptr, HWND hwndWindow". Separate all method parameters with commas. Optionally, you may enter a return after each parameter to improve readability. You may precede each parameter with IN, INOUT, or OUT to indicate it is an input, input/output, or output parameter. Error Checking No error checking is performed for this field. Possible Compilation Errors You must use valid parameter types and separate all parameters with commas or compilation errors will result. ═══ 56. Help for Method Description ═══ Method Description (optional) Description This field allows you to describe the purpose of your new method. What to Enter Free-format any text you need in describing the use of the method. Do NOT enclose your text within comment delimiters. Using a descriptive description makes overriding this class' methods easier and is HIGHLY recommended!! Error Checking No error checking is performed for this field. Possible Compilation Errors No SOM compilation errors will occur as a result of this field. ═══ 57. Help for Public/Private ═══ Public/Private (optional) Description These radiobuttons define the type of bindings to be exported for your method. Select "Public" to generate bindings for public-usage files. Select "Private" to generate bindings for private-usage files. ═══ 58. Help for Method/Procedure ═══ Method/Procedure (optional) Description These radiobuttons determine whether or not this method can be overridden by a subclass. Select "Method" for methods which can be overridden by subclasses. Select "Procedure" for methods which cannot be overridden by subclasses. ═══ 59. Help for Offset/Name Lookup ═══ Offset/Name Lookup (optional) Description These radiobuttons determine the invocation bindings to be used for your method. Select "Offset" if the class of the method's target object is known at compile time. Select "Name Lookup" if the method is introduced by several classes, and the method's target object is not known at compile time. ═══ 60. Help for Class ═══ Class (optional) Description This pushbutton defines whether or not the method operates on instances of the class or on the class itself. Checking this button will create a method which doesn't operate on instances of the class, but on the class itself. Methods defined with the class attribute can be used to manipulate class data items. If you select the class attribute for even one method, you cannot use the metaclass section. In this case, the metaclass being used is defined to be the parent's metaclass. Also, you MUST include a class prefix. ═══ 61. Help for Class Prefix ═══ Class Prefix (optional) Description This field defines a prefix to be used in constructing class methods. This field is enabled only when the "Class" checkbox is checked. What to Enter If you create a new method to operate on classes, you must check the "Class" checkbox and enter a prefix in this field. Only one class prefix is required for all class methods. If you create a class method, you must not use the metaclass section. Error Checking If you check the Class checkbox and forget to provide a class prefix before pressing "Add", an error message will be displayed. Possible Compilation Errors You must include the class prefix when creating class methods or compilation errors will result. ═══ 62. Help for Add/Delete/Clear ═══ Add/Delete/Clear (optional) After defining your method, push "Add" to add it to the new method list. Once a method has been added, you may select it from the method list to see that method's definition. If you need to delete a method from the method list, select it and push "Delete". The method will be permanently deleted. THIS CANNOT BE UNDONE! After viewing a method's information, if you need to enter a new method you may press "Clear" to clear all entry fields and reset all options to their default state. If you have to enter many similar methods, this may be unnecessary. ═══ 63. Help for Methods Section Page 2 ═══ This page allows you to define all overridden methods which your class requires. Select one of the following to get help for a particular option on this page. Overridden Method Name Known Parent Methods Method Description Public/Private Class Class Prefix Add/Delete/Clear ═══ 64. Help for Overridden Method Name ═══ Overridden Method Name (optional) Description This field defines the name of an overridden method. What to Enter Enter the name of a method defined in one of your class' parents. If the method is found, when you compile your class a method stub will appear in your source file. Normally, you do not need to enter a value in this field. All known parent methods are presented for you in a list box for easy selection. Error Checking No error checking is performed for this field. Possible Compilation Errors If you enter a method that is not in one of the parents, SOM will generate a compile error. ═══ 65. Help for Known Parent Methods ═══ Known Parent Methods (optional) Description This list box contains the names of all known parent methods. What to Enter Select the name of a method which interests you. That method's description and attributes will be presented for you. To override a parent method, either double-click on the parent method name or press the "Add" button. Error Checking No error checking is performed for this field. Possible Compilation Errors In the unlikely event that the selected method cannot be found during compilation, SOM will generate a compile error. ═══ 66. Help for Method Description ═══ Method Description (optional) Description This field allows you to describe the purpose of overriding a method. What to Enter Free-format any text you need in describing the use of the overridden method. Do NOT enclose your text within comment delimiters. Error Checking No error checking is performed for this field. Possible Compilation Errors No SOM compilation errors will occur as a result of this field. ═══ 67. Help for Public/Private ═══ Public/Private (optional) Description These radiobuttons define the type of method being overridden. Select "Public" to override a public method. Select "Private" to override a private method. ═══ 68. Help for Class ═══ Class (optional) Description This pushbutton defines whether or not the overridden method operates on instances of the class or on the class itself. Checking this button will override a method which doesn't operate on instances of the class, but on the class itself. Methods defined with the class attribute can be used to manipulate class data items. ═══ 69. Help for Class Prefix ═══ Class Prefix (optional) Description This field defines a prefix to be used in constructing class methods. This field is enabled only when the "Class" checkbox is checked. What to Enter If you override a method which operates on classes, you must check the "Class" checkbox and enter a prefix in this field. Only one class prefix is required for all class methods. If you override a class method, you must not use the metaclass section. Error Checking If you check the Class checkbox and forget to provide a class prefix before pressing "Add", an error message will be displayed. Possible Compilation Errors You must include the class prefix when overriding class methods or compilation errors will result. ═══ 70. Help for Add/Delete/Clear ═══ Add/Delete/Clear (optional) After defining the overridden method, push "Add" to add it to the overridden method list. If the method was in the known parent methods list box, it will be removed. Once a method has been added, you may select it from the overridden method list to see that method's definition. If you need to delete a method from the overridden method list, select it and push "Delete". If the method was in the known parent methods list box, it will be re-added. Otherwise, it will be deleted. After viewing an overridden method's information, if you need to override another method you may press "Clear" to clear all entry fields and reset all options to their default state. This is unnecessary if you are only overriding known parent methods.