home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / objfac.zip / CLSSNOTE.HLP (.txt) < prev    next >
OS/2 Help File  |  1994-03-05  |  32KB  |  1,204 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Help for Compiler Options Page 1 ΓòÉΓòÉΓòÉ
  3.  
  4. This page helps you configure the SOM compiler for operation.  Select one of 
  5. the following to get help for a particular option on this page. 
  6.  
  7.                 SOM Compiler Directory
  8.                 SOM Compiler Version
  9.                 Include Directory
  10.                 Output Directory
  11.                 OIDL Filename
  12.                 Comment Buffer Size
  13.                 String Space Size
  14.  
  15.  
  16. ΓòÉΓòÉΓòÉ 2. Help for SOM Compiler Directory ΓòÉΓòÉΓòÉ
  17.  
  18. SOM Compiler Directory (REQUIRED) 
  19.  
  20. Description
  21. This field allows the notebook to find the SOM compiler executable in your 
  22. system. 
  23.  
  24. What to Enter
  25. Enter the fully qualified directory path to the SOM compiler.  The SOM 
  26. compiler's executable filename is "SC.EXE". 
  27.  
  28. Error Checking
  29. If an invalid path is entered, the entry is deleted and the previously entered 
  30. path is redisplayed. 
  31.  
  32. Possible Compilation Errors
  33. If the SOM compiler is not located in this directory, an error will occur when 
  34. you compile this class. 
  35.  
  36.  
  37. ΓòÉΓòÉΓòÉ 3. Help for SOM Compiler Version ΓòÉΓòÉΓòÉ
  38.  
  39. SOM Compiler Version (REQUIRED) 
  40.  
  41. Description
  42. These radio buttons define which version of the SOM compiler is being 
  43. referenced by the SOM compiler directory field.  Select the radiobutton 
  44. corresponding to the version of the SOM compiler you are using. 
  45.  
  46.  
  47. ΓòÉΓòÉΓòÉ 4. Help for Include Directory ΓòÉΓòÉΓòÉ
  48.  
  49. Include Directory (REQUIRED) 
  50.  
  51. Description
  52. This field allows the SOM compiler to locate any include files needed for 
  53. compilation. 
  54.  
  55. What to Enter
  56. Enter one or more fully qualified paths separated by semicolons to allow the 
  57. SOM compiler to locate include files.  Typical locations that need to be 
  58. included are the location of SOM "*.SC" files and the location of your include 
  59. files for this class. 
  60.  
  61. Error Checking
  62. No error checking is done in this field. 
  63.  
  64. Possible Compilation Errors
  65. If any include files cannot be located during compilation, SOM will generate 
  66. missing file errors. 
  67.  
  68.  
  69. ΓòÉΓòÉΓòÉ 5. Help for Output Directory ΓòÉΓòÉΓòÉ
  70.  
  71. Output Directory (REQUIRED) 
  72.  
  73. Description
  74. This field contains the directory where all SOM emitted files will be placed. 
  75.  
  76. What to Enter
  77. Enter a fully qualified directory path. 
  78.  
  79. Error Checking
  80. If an invalid path is entered, the entry is deleted and the previously entered 
  81. path is redisplayed. 
  82.  
  83. Possible Compilation Errors
  84. No SOM compilation errors will occur as a result of this field. 
  85.  
  86.  
  87. ΓòÉΓòÉΓòÉ 6. Help for OIDL Filename ΓòÉΓòÉΓòÉ
  88.  
  89. OIDL Filename (REQUIRED) 
  90.  
  91. Description
  92. This field contains the filename of the generated OIDL filename.  The OIDL file 
  93. is generated by the notebook as part of the SOM compilation process. 
  94.  
  95. The OIDL file is a SOM source file and should be backed up faithfully.  If this 
  96. class notebook were accidentally destroyed, you could re-enter the class 
  97. definition from this file into another class notebook. 
  98.  
  99. What to Enter
  100. Enter a unique filename. 
  101.  
  102. Error Checking
  103. If no file extension is entered, the extension ".CSC" is automatically appended 
  104. to your entry.  You may use other extensions, although the use of ".CSC" is 
  105. HIGHLY recommended. 
  106.  
  107. Possible Compilation Errors
  108. If the filename you select already exists in the output directory, the file 
  109. will be overwritten.  If the file is in use by another process, an error will 
  110. occur. 
  111.  
  112.  
  113. ΓòÉΓòÉΓòÉ 7. Help for Comment Buffer Size ΓòÉΓòÉΓòÉ
  114.  
  115. Comment Buffer Size (optional) 
  116.  
  117. Description
  118. This field defines this total size of the SOM comment buffer. 
  119.  
  120. What to Enter
  121. Enter a numeric value for the comment buffer size.  The default value is 
  122. normally sufficient. 
  123.  
  124. Error Checking
  125. If a non-numeric value is entered, the entry is erased and the previous value 
  126. is displayed. 
  127.  
  128. Possible Compilation Errors
  129. SOM will display an error message if this value is not correct. 
  130.  
  131.  
  132. ΓòÉΓòÉΓòÉ 8. Help for String Space Size ΓòÉΓòÉΓòÉ
  133.  
  134. String Space Size (optional) 
  135.  
  136. Description
  137. This field defines this total size of the SOM string space used for passthru 
  138. lines and names. 
  139.  
  140. What to Enter
  141. Enter a numeric value for the string space size.  The default value is normally 
  142. sufficient. 
  143.  
  144. Error Checking
  145. If a non-numeric value is entered, the entry is erased and the previous value 
  146. is displayed. 
  147.  
  148. Possible Compilation Errors
  149. SOM will display an error message if this value is not correct. 
  150.  
  151.  
  152. ΓòÉΓòÉΓòÉ 9. Help for Compiler Options Page 2 ΓòÉΓòÉΓòÉ
  153.  
  154. This page allows you to select which files the SOM compiler generates.  If a 
  155. particular item is checked, that file will be generated when you compile the 
  156. class. 
  157.  
  158. The version of SOM you select on the first page of this section determines 
  159. which set of checkboxes is activated. 
  160.  
  161. At least 1 option MUST be checked.  If you try to uncheck the last checked 
  162. item, that item will be automatically re-checked. 
  163.  
  164.  
  165. ΓòÉΓòÉΓòÉ 10. Help for Compiler Options Page 3 ΓòÉΓòÉΓòÉ
  166.  
  167. This page allows you to access miscellaneous SOM compiler options.  Select one 
  168. of the following to get help for a particular option on this page. 
  169.  
  170.                 Suppress Warning Messages
  171.                 Verify Release Order Entries
  172.                 Display Version
  173.                 Generate IBM C Set/2 Pragmas
  174.  
  175.  
  176. ΓòÉΓòÉΓòÉ 11. Help for Suppress Warning Messages ΓòÉΓòÉΓòÉ
  177.  
  178. Suppress Warning Messages (optional) 
  179.  
  180. Description
  181. This radio button determines whether the SOM compiler will display any warning 
  182. messages during compilation. 
  183.  
  184. Check this button to not display warnings, uncheck it to see all SOM warnings 
  185. during compilation. 
  186.  
  187.  
  188. ΓòÉΓòÉΓòÉ 12. Help for Verify Release Order Entries ΓòÉΓòÉΓòÉ
  189.  
  190. Verify Release Order Entries (optional) 
  191.  
  192. Description
  193. This radio button determines whether the SOM compiler will verify all release 
  194. order entries during compilation.  Any variances that SOM finds will be 
  195. displayed. 
  196.  
  197. Check this button to verify all release order entries, uncheck it to disable 
  198. release order verification. 
  199.  
  200.  
  201. ΓòÉΓòÉΓòÉ 13. Help for Display Version ΓòÉΓòÉΓòÉ
  202.  
  203. Display Version (optional) 
  204.  
  205. Description
  206. This radio button determines whether the SOM compiler will display the version 
  207. information of its emitter programs during compilation. 
  208.  
  209. Check this button to display version information, uncheck it to not display 
  210. version information. 
  211.  
  212.  
  213. ΓòÉΓòÉΓòÉ 14. Help for Generate IBM C Set/2 Pragmas ΓòÉΓòÉΓòÉ
  214.  
  215. Generate IBM C Set/2 Pragmas (optional) 
  216.  
  217. Description
  218. This radio button determines whether the SOM compiler will generate pragmas 
  219. specifically intended for IBM's C Set/2 compiler. 
  220.  
  221. Check this button if you are using IBM's C Set/2 compiler, uncheck it if you 
  222. are not. 
  223.  
  224.  
  225. ΓòÉΓòÉΓòÉ 15. Help for Include Section Page 1 ΓòÉΓòÉΓòÉ
  226.  
  227. This page allows you to define include filenames.  Select one of the following 
  228. to get help for a particular option on this page. 
  229.  
  230.                 Parent Filename
  231.                 Metaclass Filename
  232.                 Ancestor Filename
  233.  
  234.  
  235. ΓòÉΓòÉΓòÉ 16. Help for Parent Filename ΓòÉΓòÉΓòÉ
  236.  
  237. Parent Filename (REQUIRED) 
  238.  
  239. Description
  240. This field contains the filename of the parent class definition file. 
  241.  
  242. What to Enter
  243. Enter the parent class definition filename. 
  244.  
  245. If the class you are defining is an immediate descendant of one of SOM's 
  246. classes, then this field will be automatically filled in with the correct 
  247. filename. 
  248.  
  249. Error Checking
  250. If no file extension is entered, the extension ".SC" is automatically appended 
  251. to your entry.  You may use other extensions as required. 
  252.  
  253. Possible Compilation Errors
  254. If the filename you entered cannot be found by the SOM compiler, an error will 
  255. result. 
  256.  
  257.  
  258. ΓòÉΓòÉΓòÉ 17. Help for Metaclass Filename ΓòÉΓòÉΓòÉ
  259.  
  260. Metaclass Filename (optional) 
  261.  
  262. Description
  263. This field contains the filename of the metaclass definition file. 
  264.  
  265. What to Enter
  266. Enter the metaclass definition filename. 
  267.  
  268. Error Checking
  269. If no file extension is entered, the extension ".SC" is automatically appended 
  270. to your entry.  You may use other extensions as required. 
  271.  
  272. Possible Compilation Errors
  273. If the filename you entered cannot be found by the SOM compiler, an error will 
  274. result. 
  275.  
  276.  
  277. ΓòÉΓòÉΓòÉ 18. Help for Ancestor Filename ΓòÉΓòÉΓòÉ
  278.  
  279. Ancestor Filename (optional) 
  280.  
  281. Description
  282. This field is used to enter one or more ancestor filenames. 
  283.  
  284. If more than one ancestor filename is entered into the list, they must appear 
  285. in a root-down order. 
  286.  
  287. What to Enter
  288. Enter the ancestor definition filename in the entry field, then push the "Add" 
  289. button to add the ancestor filename to the list.  To remove an entry, select it 
  290. from the list and press "Remove". 
  291.  
  292. Error Checking
  293. If no file extension is entered, the extension ".SC" is automatically appended 
  294. to your entry.  You may use other extensions as required. 
  295.  
  296. Pressing "Add" or "Remove" without an item entered or selected will generate an 
  297. error message. 
  298.  
  299. Possible Compilation Errors
  300. If any filename you entered cannot be found by the SOM compiler, an error will 
  301. result. 
  302.  
  303.  
  304. ΓòÉΓòÉΓòÉ 19. Help for Class Section Page 1 ΓòÉΓòÉΓòÉ
  305.  
  306. This page allows you to define your new class.  Select one of the following to 
  307. get help for a particular option on this page. 
  308.  
  309.                 Class Name
  310.                 File Stem
  311.                 External Stem
  312.                 Function Prefix
  313.                 External Prefix
  314.  
  315.  
  316. ΓòÉΓòÉΓòÉ 20. Help for Class Name ΓòÉΓòÉΓòÉ
  317.  
  318. Class Name (REQUIRED) 
  319.  
  320. Description
  321. This field is used to enter the name of your new class. 
  322.  
  323. What to Enter
  324. Enter a unique class name. 
  325.  
  326. Error Checking
  327. No error checking is done on this field. 
  328.  
  329. Possible Compilation Errors
  330. If no class name is entered, an error will result and you will not be able to 
  331. invoke the SOM compiler. 
  332.  
  333.  
  334. ΓòÉΓòÉΓòÉ 21. Help for File Stem ΓòÉΓòÉΓòÉ
  335.  
  336. File Stem (optional) 
  337.  
  338. Description
  339. This field is used in generating filenames for emitted SOM files.  Emitted 
  340. files will be named "FileStem".ext. 
  341.  
  342. What to Enter
  343. Enter the file stem name you want the SOM compiler to use in generating emitted 
  344. filenames. 
  345.  
  346. If you have entered an OIDL filename on the class notebook's first page, then 
  347. that name will appear automatically as the default.  Normally, you would want 
  348. the file stem to be the same as your OIDL's file stem. 
  349.  
  350. If you change the OIDL filename, this field will NOT be updated -- you must 
  351. update the file stem yourself. 
  352.  
  353. Error Checking
  354. No error checking is done on this field. 
  355.  
  356. Possible Compilation Errors
  357. No SOM compilation errors will occur due to this field, although errors may 
  358. occur when compiling the generated C file using your C compiler if an invalid 
  359. file stem is entered. 
  360.  
  361.  
  362. ΓòÉΓòÉΓòÉ 22. Help for External Stem ΓòÉΓòÉΓòÉ
  363.  
  364. External Stem (optional) 
  365.  
  366. Description
  367. This field is used in generating filenames within emitted SOM files. 
  368.  
  369. What to Enter
  370. Enter the external stem name you want the SOM compiler to use in generating 
  371. filenames within emitted files. 
  372.  
  373. If you have entered an OIDL filename on the class notebook's first page, then 
  374. that name will appear automatically as the default.  Normally, you would want 
  375. the external stem to be the same as your OIDL's file stem. 
  376.  
  377. If you change the OIDL filename, this field will NOT be updated -- you must 
  378. update the external stem yourself. 
  379.  
  380. Error Checking
  381. No error checking is done on this field. 
  382.  
  383. Possible Compilation Errors
  384. No SOM compilation errors will occur due to this field, although errors may 
  385. occur when compiling the generated C file using your C compiler if an invalid 
  386. external stem is entered. 
  387.  
  388.  
  389. ΓòÉΓòÉΓòÉ 23. Help for Function Prefix ΓòÉΓòÉΓòÉ
  390.  
  391. Function Prefix (optional) 
  392.  
  393. Description
  394. This field is used in generating method function names within emitted SOM 
  395. files. 
  396.  
  397. What to Enter
  398. Select the radiobutton next to this option and enter the function prefix you 
  399. want the SOM compiler to use in generating function names within emitted files. 
  400.  
  401. Error Checking
  402. No error checking is done on this field. 
  403.  
  404. Possible Compilation Errors
  405. No SOM compilation errors will occur due to this field. 
  406.  
  407.  
  408. ΓòÉΓòÉΓòÉ 24. Help for External Prefix ΓòÉΓòÉΓòÉ
  409.  
  410. External Prefix (optional) 
  411.  
  412. Description
  413. This field is used in generating method function names within emitted SOM 
  414. files.  The difference between this and function prefix is that the generated 
  415. methods are forced to be external, which may be needed for debugging purposes. 
  416.  
  417. What to Enter
  418. Select the radiobutton next to this option and enter the external prefix you 
  419. want the SOM compiler to use in generating function names within emitted files. 
  420.  
  421. Error Checking
  422. No error checking is done on this field. 
  423.  
  424. Possible Compilation Errors
  425. No SOM compilation errors will occur due to this field. 
  426.  
  427.  
  428. ΓòÉΓòÉΓòÉ 25. Help for Class Section Page 2 ΓòÉΓòÉΓòÉ
  429.  
  430. This page allows you to define miscellaneous options for your new class. 
  431. Select one of the following to get help for a particular option on this page. 
  432.  
  433.                 Major Version Number
  434.                 Minor Version Number
  435.                 Link Bindings Context
  436.                 Class Initialization Function
  437.  
  438.  
  439. ΓòÉΓòÉΓòÉ 26. Help for Major Version Number ΓòÉΓòÉΓòÉ
  440.  
  441. Major Version Number (optional) 
  442.  
  443. Description
  444. The major version number is used to verify that any code that purports to 
  445. implement this class has the same major version number.  If the major version 
  446. number is 0, no check is made. 
  447.  
  448. What to Enter
  449. Enter a number 0 to (2**31)-1. 
  450.  
  451. Error Checking
  452. If a non-numeric value is entered, the entry is erased and the previous value 
  453. is displayed. 
  454.  
  455. Possible Compilation Errors
  456. No SOM compilation errors will occur due to this field. 
  457.  
  458.  
  459. ΓòÉΓòÉΓòÉ 27. Help for Minor Version Number ΓòÉΓòÉΓòÉ
  460.  
  461. Minor Version Number (optional) 
  462.  
  463. Description
  464. The minor version number is used to verify that any code that purports to 
  465. implement this class has the same OR HIGHER minor version number.  If the minor 
  466. version number is 0, no check is made. 
  467.  
  468. What to Enter
  469. Enter a number 0 to (2**31)-1. 
  470.  
  471. Error Checking
  472. If a non-numeric value is entered, the entry is erased and the previous value 
  473. is displayed. 
  474.  
  475. Possible Compilation Errors
  476. No SOM compilation errors will occur due to this field. 
  477.  
  478.  
  479. ΓòÉΓòÉΓòÉ 28. Help for Link Bindings Context ΓòÉΓòÉΓòÉ
  480.  
  481. Link Bindings Context (optional) 
  482.  
  483. Description
  484. This option indicates how binding files are to be linked together. 
  485.  
  486. Select global to generate statements like: #include <file.h>. 
  487.  
  488. Select local to generate statements like: #include "file.h". 
  489.  
  490.  
  491. ΓòÉΓòÉΓòÉ 29. Help for Class Initialization Function ΓòÉΓòÉΓòÉ
  492.  
  493. Class Initialization Function (optional) 
  494.  
  495. Description
  496. This field allows you to define a function to be used in the creation of your 
  497. class. 
  498.  
  499. What to Enter
  500. Enter a function name.  A template for this function will be automatically 
  501. added in the emitted files. 
  502.  
  503. Error Checking
  504. No error checking is performed for this field. 
  505.  
  506. Possible Compilation Errors
  507. No SOM compilation errors will occur due to this field. 
  508.  
  509.  
  510. ΓòÉΓòÉΓòÉ 30. Help for Class Section Page 3 ΓòÉΓòÉΓòÉ
  511.  
  512. This page allows you to enter an optional description of your new class.  Do 
  513. NOT enclose your text within comment delimiters.  Free-format any text you wish 
  514. to appear in emitted files. 
  515.  
  516.  
  517. ΓòÉΓòÉΓòÉ 31. Help for Release Order Section Page 1 ΓòÉΓòÉΓòÉ
  518.  
  519. Release Order (optional) 
  520.  
  521. Description
  522. This page allows you to define a release order for your new class.  The release 
  523. order allows you to add or remove methods or instance variables without having 
  524. to recompile programs that use this class. 
  525.  
  526. What to Enter
  527. As new methods or instance variables are added to your class, they will appear 
  528. in the appropriate list boxes.  Select either a method or instance variable and 
  529. double-click or press "Add" to append the item to the end of the release order. 
  530.  
  531. If methods or instance variables are removed from the class after being added 
  532. to the release order, they will not be removed from the release order. 
  533.  
  534. To remove an item from the release order, select it from the list and 
  535. double-click or press "Remove".  The item will be removed and re-inserted into 
  536. the appropriate list box. 
  537.  
  538. WARNING: Normally, you should not remove anything once it has been added to the 
  539. release order and the class has been compiled.  Doing so may cause you to have 
  540. to recompile all programs which use this class!! 
  541.  
  542. Error Checking
  543. If you press "Add" or "Remove" without selecting an item, an error message will 
  544. be displayed. 
  545.  
  546. Possible Compilation Errors
  547. No SOM compilation errors will occur due to this field. 
  548.  
  549.  
  550. ΓòÉΓòÉΓòÉ 32. Help for Metaclass Section Page 1 ΓòÉΓòÉΓòÉ
  551.  
  552. This page allows you to define a metaclass for your new class.  A metaclass is 
  553. a class whose instances are all classes.  Select one of the following to get 
  554. help for a particular option on this page. 
  555.  
  556.                 Metaclass Name
  557.                 Metaclass Description
  558.  
  559.  
  560. ΓòÉΓòÉΓòÉ 33. Help for Metaclass Name ΓòÉΓòÉΓòÉ
  561.  
  562. Metaclass Name (optional) 
  563.  
  564. Description
  565. This field allows you to define a metaclass for your class. 
  566.  
  567. What to Enter
  568. Enter a metaclass name.  If you enter a value in this field, you must also 
  569. enter a metaclass filename in the include section. 
  570.  
  571. If you leave this field blank, the parent's metaclass will be used. 
  572.  
  573. If you use the class attribute in either the data or methods section, you MUST 
  574. leave this field blank -- the implied metaclass will be a subclass of the 
  575. parent's metaclass. 
  576.  
  577. Unless you are very familiar with SOM, it is wise to leave this field blank. 
  578.  
  579. Error Checking
  580. No error checking is performed for this field. 
  581.  
  582. Possible Compilation Errors
  583. If you use this field and forget to add the metaclass filename to the include 
  584. section or use class attributes in either the data or methods section, SOM 
  585. compilation errors will result. 
  586.  
  587.  
  588. ΓòÉΓòÉΓòÉ 34. Help for Metaclass Description ΓòÉΓòÉΓòÉ
  589.  
  590. Metaclass Description (optional) 
  591.  
  592. Description
  593. This field allows you to describe the purpose of the metaclass. 
  594.  
  595. What to Enter
  596. Free-format any text you need in describing the use of the metaclass.  Do NOT 
  597. enclose your text within comment delimiters. 
  598.  
  599. Unless you are actually using a metaclass, it is best to leave this field 
  600. blank. 
  601.  
  602. Error Checking
  603. No error checking is performed for this field. 
  604.  
  605. Possible Compilation Errors
  606. No SOM compilation errors will occur as a result of this field. 
  607.  
  608.  
  609. ΓòÉΓòÉΓòÉ 35. Help for Parent Class Section Page 1 ΓòÉΓòÉΓòÉ
  610.  
  611. This page allows you to define a parent class for your new class.  Select one 
  612. of the following to get help for a particular option on this page. 
  613.  
  614.                 Parent Class Name
  615.                 Parent Class Description
  616.  
  617.  
  618. ΓòÉΓòÉΓòÉ 36. Help for Parent Class Name ΓòÉΓòÉΓòÉ
  619.  
  620. Parent Class Name (optional) 
  621.  
  622. Description
  623. This field allows you to define a parent class for your class. 
  624.  
  625. What to Enter
  626. Under normal operation, you do not have to enter anything in this field.  If 
  627. you have dragged this class notebook to a position in the class tree, the 
  628. parent class is automatically defined for you. 
  629.  
  630. Instead of entering a value in this field, drag the class notebook to a new 
  631. position in the class tree to change this field.  Each time you re-position 
  632. this notebook in the class tree, this field is automatically updated. 
  633.  
  634. Error Checking
  635. No error checking is performed for this field. 
  636.  
  637. Possible Compilation Errors
  638. If no value is defined for this field (i.e. this notebook is not in the class 
  639. tree) you will not be able to invoke the SOM compiler. 
  640.  
  641.  
  642. ΓòÉΓòÉΓòÉ 37. Help for Parent Class Description ΓòÉΓòÉΓòÉ
  643.  
  644. Parent Class Description (optional) 
  645.  
  646. Description
  647. This field allows you to describe the purpose of the parent class. 
  648.  
  649. What to Enter
  650. Free-format any text you need in describing the use of the parent class.  Do 
  651. NOT enclose your text within comment delimiters. 
  652.  
  653. Error Checking
  654. No error checking is performed for this field. 
  655.  
  656. Possible Compilation Errors
  657. No SOM compilation errors will occur as a result of this field. 
  658.  
  659.  
  660. ΓòÉΓòÉΓòÉ 38. Help for Passthru Section Page 1 ΓòÉΓòÉΓòÉ
  661.  
  662. This page allows you to pass unaltered lines directly into the *.H file, which 
  663. is the binding file for all users of this class.  Select one of the following 
  664. to get help for a particular option on this page. 
  665.  
  666.                 Precede/Follow Includes
  667.                 Passthru Lines
  668.  
  669.  
  670. ΓòÉΓòÉΓòÉ 39. Help for Precede/Follow Includes ΓòÉΓòÉΓòÉ
  671.  
  672. Precede/Follow Includes (optional) 
  673.  
  674. Description
  675. These radiobuttons allow you to select where in the binding file to add the 
  676. passthru lines. 
  677.  
  678. Selecting "Precede" will cause the passthru lines to be placed unaltered BEFORE 
  679. all #include statements in the emitted file. 
  680.  
  681. Selecting "Follow" will cause the passthru lines to be placed unaltered AFTER 
  682. all #include statements in the emitted file. 
  683.  
  684.  
  685. ΓòÉΓòÉΓòÉ 40. Help for Passthru Lines ΓòÉΓòÉΓòÉ
  686.  
  687. Passthru Lines (optional) 
  688.  
  689. Description
  690. This field allows you to include unaltered lines of code to be passed into an 
  691. emitted file.  The contents of the lines are ignored by the SOM compiler. 
  692.  
  693. What to Enter
  694. Free-format any code you need to include in an emitted file.  Comments may be 
  695. include using any style you wish. 
  696.  
  697. You may use "shift-delete" and "shift-insert" key sequences to cut and paste 
  698. lines in the entry field. 
  699.  
  700. If you have a large block of code to include and do not wish to use the minimal 
  701. editing capabilities of the entry field, you may simply add an #include 
  702. statement in this field for a file you may create using a different editor. 
  703.  
  704. Error Checking
  705. No error checking is performed for this field. 
  706.  
  707. Possible Compilation Errors
  708. No SOM compilation errors will occur as a result of this field.  Your C 
  709. compiler will generate errors if any coding errors are present in your passthru 
  710. lines. 
  711.  
  712.  
  713. ΓòÉΓòÉΓòÉ 41. Help for Passthru Section Page 2 ΓòÉΓòÉΓòÉ
  714.  
  715. This page allows you to pass unaltered lines directly into the *.PH file, which 
  716. is the binding file for users with access to private methods in this class. 
  717. Select one of the following to get help for a particular option on this page. 
  718.  
  719.                 Precede/Follow Include Statements
  720.                 Passthru Lines
  721.  
  722.  
  723. ΓòÉΓòÉΓòÉ 42. Help for Passthru Section Page 3 ΓòÉΓòÉΓòÉ
  724.  
  725. This page allows you to pass unaltered lines directly into the *.IH file, which 
  726. is the binding file for implementors of this class.  Select one of the 
  727. following to get help for a particular option on this page. 
  728.  
  729.                 Precede/Follow Include Statements
  730.                 Passthru Lines
  731.  
  732.  
  733. ΓòÉΓòÉΓòÉ 43. Help for Passthru Section Page 4 ΓòÉΓòÉΓòÉ
  734.  
  735. This page allows you to pass unaltered lines directly into the *.C file, which 
  736. is the program template file for implementing this class.  Select one of the 
  737. following to get help for a particular option on this page. 
  738.  
  739.                 Precede/Follow Include Statements
  740.                 Passthru Lines
  741.  
  742.  
  743. ΓòÉΓòÉΓòÉ 44. Help for Passthru Section Page 5 ΓòÉΓòÉΓòÉ
  744.  
  745. This page allows you to pass unaltered lines directly into the *.SC file, which 
  746. is the language-neutral core file for this class.  Select one of the following 
  747. to get help for a particular option on this page. 
  748.  
  749.                 Precede/Follow Include Statements
  750.                 Passthru Lines
  751.  
  752.  
  753. ΓòÉΓòÉΓòÉ 45. Help for Passthru Section Page 6 ΓòÉΓòÉΓòÉ
  754.  
  755. This page allows you to pass unaltered lines directly into the *.PSC file, 
  756. which is the language-neutral core file for the private methods of this class. 
  757. Select one of the following to get help for a particular option on this page. 
  758.  
  759.                 Precede/Follow Include Statements
  760.                 Passthru Lines
  761.  
  762.  
  763. ΓòÉΓòÉΓòÉ 46. Help for Passthru Section Page 7 ΓòÉΓòÉΓòÉ
  764.  
  765. This page allows you to pass unaltered lines directly into the *.CS2 file, 
  766. which is a "pretty-printed" version of the OIDL file used in describing this 
  767. class.  Select one of the following to get help for a particular option on this 
  768. page. 
  769.  
  770.                 Precede/Follow Include Statements
  771.                 Passthru Lines
  772.  
  773.  
  774. ΓòÉΓòÉΓòÉ 47. Help for Data Section Page 1 ΓòÉΓòÉΓòÉ
  775.  
  776. This page allows you to define all instance variables which your class 
  777. requires.  Select one of the following to get help for a particular option on 
  778. this page. 
  779.  
  780.                  Instance Variable Type and Name
  781.                  Internal/Private/Public
  782.                  Class
  783.                  Data Description
  784.                  Add/Delete/Clear
  785.  
  786.  
  787. ΓòÉΓòÉΓòÉ 48. Help for Instance Variable Type and Name ΓòÉΓòÉΓòÉ
  788.  
  789. Instance Variable Type and Name (optional) 
  790.  
  791. Description
  792. This field defines the type and name of your instance data variable.  ANSI C 
  793. syntax should be used. 
  794.  
  795. What to Enter
  796. For example, to define a character variable named "MyChar", enter "char MyChar" 
  797. without the quotes in the field. 
  798.  
  799. Error Checking
  800. No error checking is performed for this field. 
  801.  
  802. Possible Compilation Errors
  803. You must use a valid variable type or a compilation error will result. 
  804.  
  805.  
  806. ΓòÉΓòÉΓòÉ 49. Help for Internal/Private/Public ΓòÉΓòÉΓòÉ
  807.  
  808. Internal/Private/Public (optional) 
  809.  
  810. Description
  811. These radiobuttons define the type of bindings to be exported for a particular 
  812. instance variable. 
  813.  
  814. Select "Internal" to prevent ANY bindings from being exported. 
  815.  
  816. Select "Private" to generate bindings for private-usage files. 
  817.  
  818. Select "Public" to generate bindings for public-usage files. 
  819.  
  820.  
  821. ΓòÉΓòÉΓòÉ 50. Help for Class ΓòÉΓòÉΓòÉ
  822.  
  823. Class (optional) 
  824.  
  825. Description
  826. This pushbutton defines whether or not the data item belongs to a metaclass. 
  827.  
  828. Checking this button will create a data item which doesn't appear in instances 
  829. of the class, but in the class itself.  Methods defined with the class 
  830. attribute can be used to manipulate class data items. 
  831.  
  832. If you select the class attribute for even one data item, you cannot use the 
  833. metaclass section.  In this case, the metaclass being used is defined to be the 
  834. parent's metaclass. 
  835.  
  836.  
  837. ΓòÉΓòÉΓòÉ 51. Help for Data Description ΓòÉΓòÉΓòÉ
  838.  
  839. Data Description (optional) 
  840.  
  841. Description
  842. This field allows you to describe the purpose of the instance variable. 
  843.  
  844. What to Enter
  845. Free-format any text you need in describing the use of the instance variable. 
  846. Do NOT enclose your text within comment delimiters. 
  847.  
  848. Error Checking
  849. No error checking is performed for this field. 
  850.  
  851. Possible Compilation Errors
  852. No SOM compilation errors will occur as a result of this field. 
  853.  
  854.  
  855. ΓòÉΓòÉΓòÉ 52. Help for Add/Delete/Clear ΓòÉΓòÉΓòÉ
  856.  
  857. Add/Delete/Clear (optional) 
  858.  
  859. After defining your instance variable, push "Add" to add it to the instance 
  860. variable list.  Once a variable has been added, you may select it from the 
  861. instance variable list to see that variable's definition. 
  862.  
  863. If you need to delete a variable from the instance variable list, select it and 
  864. push "Delete".  The variable will be permanently deleted.  THIS CANNOT BE 
  865. UNDONE! 
  866.  
  867. After viewing an instance variable's information, if you need to enter a new 
  868. variable you may press "Clear" to clear all entry fields and reset all options 
  869. to their default state.  If you have to enter many similar data items, this may 
  870. be unnecessary. 
  871.  
  872.  
  873. ΓòÉΓòÉΓòÉ 53. Help for Methods Section Page 1 ΓòÉΓòÉΓòÉ
  874.  
  875. This page allows you to define all new methods which your class requires. 
  876. Select one of the following to get help for a particular option on this page. 
  877.  
  878.                  New Method Type and Name
  879.                  Method Parameters
  880.                  Method Description
  881.                  Public/Private
  882.                  Method/Procedure
  883.                  Offset/Name Lookup
  884.                  Class
  885.                  Class Prefix
  886.                  Add/Delete/Clear
  887.  
  888.  
  889. ΓòÉΓòÉΓòÉ 54. Help for New Method Type and Name ΓòÉΓòÉΓòÉ
  890.  
  891. New Method Type and Name (optional) 
  892.  
  893. Description
  894. This field defines the type and name of your new method.  ANSI C syntax should 
  895. be used. 
  896.  
  897. What to Enter
  898. For example, to define a method named "AddMe" that returns an integer result, 
  899. enter "int AddMe" without the quotes in the field. 
  900.  
  901. Always include the "void" keyword for methods which return nothing. 
  902.  
  903. You may enter a comment in this field by prefacing the text with 2 dashes. 
  904. This allows you to organize your methods in the list box.  This makes it easier 
  905. for subclasses to overridde this class' methods.  This is HIGHLY recommended!! 
  906.  
  907. Error Checking
  908. No error checking is performed for this field. 
  909.  
  910. Possible Compilation Errors
  911. You must use a valid type or a compilation error will result. 
  912.  
  913.  
  914. ΓòÉΓòÉΓòÉ 55. Help for Method Parameters ΓòÉΓòÉΓòÉ
  915.  
  916. Method Parameters (optional) 
  917.  
  918. Description
  919. This field defines the type and name of all parameters your new method 
  920. requires.  ANSI C syntax should be used. 
  921.  
  922. What to Enter
  923. For example, if your method requires three parameters, enter them as "char 
  924. Data, void *Ptr, HWND hwndWindow". 
  925.  
  926. Separate all method parameters with commas.  Optionally, you may enter a return 
  927. after each parameter to improve readability. 
  928.  
  929. You may precede each parameter with IN, INOUT, or OUT to indicate it is an 
  930. input, input/output, or output parameter. 
  931.  
  932. Error Checking
  933. No error checking is performed for this field. 
  934.  
  935. Possible Compilation Errors
  936. You must use valid parameter types and separate all parameters with commas or 
  937. compilation errors will result. 
  938.  
  939.  
  940. ΓòÉΓòÉΓòÉ 56. Help for Method Description ΓòÉΓòÉΓòÉ
  941.  
  942. Method Description (optional) 
  943.  
  944. Description
  945. This field allows you to describe the purpose of your new method. 
  946.  
  947. What to Enter
  948. Free-format any text you need in describing the use of the method.  Do NOT 
  949. enclose your text within comment delimiters. 
  950.  
  951. Using a descriptive description makes overriding this class' methods easier and 
  952. is HIGHLY recommended!! 
  953.  
  954. Error Checking
  955. No error checking is performed for this field. 
  956.  
  957. Possible Compilation Errors
  958. No SOM compilation errors will occur as a result of this field. 
  959.  
  960.  
  961. ΓòÉΓòÉΓòÉ 57. Help for Public/Private ΓòÉΓòÉΓòÉ
  962.  
  963. Public/Private (optional) 
  964.  
  965. Description
  966. These radiobuttons define the type of bindings to be exported for your method. 
  967.  
  968. Select "Public" to generate bindings for public-usage files. 
  969.  
  970. Select "Private" to generate bindings for private-usage files. 
  971.  
  972.  
  973. ΓòÉΓòÉΓòÉ 58. Help for Method/Procedure ΓòÉΓòÉΓòÉ
  974.  
  975. Method/Procedure (optional) 
  976.  
  977. Description
  978. These radiobuttons determine whether or not this method can be overridden by a 
  979. subclass. 
  980.  
  981. Select "Method" for methods which can be overridden by subclasses. 
  982.  
  983. Select "Procedure" for methods which cannot be overridden by subclasses. 
  984.  
  985.  
  986. ΓòÉΓòÉΓòÉ 59. Help for Offset/Name Lookup ΓòÉΓòÉΓòÉ
  987.  
  988. Offset/Name Lookup (optional) 
  989.  
  990. Description
  991. These radiobuttons determine the invocation bindings to be used for your 
  992. method. 
  993.  
  994. Select "Offset" if the class of the method's target object is known at compile 
  995. time. 
  996.  
  997. Select "Name Lookup" if the method is introduced by several classes, and the 
  998. method's target object is not known at compile time. 
  999.  
  1000.  
  1001. ΓòÉΓòÉΓòÉ 60. Help for Class ΓòÉΓòÉΓòÉ
  1002.  
  1003. Class (optional) 
  1004.  
  1005. Description
  1006. This pushbutton defines whether or not the method operates on instances of the 
  1007. class or on the class itself. 
  1008.  
  1009. Checking this button will create a method which doesn't operate on instances of 
  1010. the class, but on the class itself.  Methods defined with the class attribute 
  1011. can be used to manipulate class data items. 
  1012.  
  1013. If you select the class attribute for even one method, you cannot use the 
  1014. metaclass section.  In this case, the metaclass being used is defined to be the 
  1015. parent's metaclass.  Also, you MUST include a class prefix. 
  1016.  
  1017.  
  1018. ΓòÉΓòÉΓòÉ 61. Help for Class Prefix ΓòÉΓòÉΓòÉ
  1019.  
  1020. Class Prefix (optional) 
  1021.  
  1022. Description
  1023. This field defines a prefix to be used in constructing class methods.  This 
  1024. field is enabled only when the "Class" checkbox is checked. 
  1025.  
  1026. What to Enter
  1027. If you create a new method to operate on classes, you must check the "Class" 
  1028. checkbox and enter a prefix in this field.  Only one class prefix is required 
  1029. for all class methods. 
  1030.  
  1031. If you create a class method, you must not use the metaclass section. 
  1032.  
  1033. Error Checking
  1034. If you check the Class checkbox and forget to provide a class prefix before 
  1035. pressing "Add", an error message will be displayed. 
  1036.  
  1037. Possible Compilation Errors
  1038. You must include the class prefix when creating class methods or compilation 
  1039. errors will result. 
  1040.  
  1041.  
  1042. ΓòÉΓòÉΓòÉ 62. Help for Add/Delete/Clear ΓòÉΓòÉΓòÉ
  1043.  
  1044. Add/Delete/Clear (optional) 
  1045.  
  1046. After defining your method, push "Add" to add it to the new method list. 
  1047.  
  1048. Once a method has been added, you may select it from the method list to see 
  1049. that method's definition. 
  1050.  
  1051. If you need to delete a method from the method list, select it and push 
  1052. "Delete".  The method will be permanently deleted.  THIS CANNOT BE UNDONE! 
  1053.  
  1054. After viewing a method's information, if you need to enter a new method you may 
  1055. press "Clear" to clear all entry fields and reset all options to their default 
  1056. state.  If you have to enter many similar methods, this may be unnecessary. 
  1057.  
  1058.  
  1059. ΓòÉΓòÉΓòÉ 63. Help for Methods Section Page 2 ΓòÉΓòÉΓòÉ
  1060.  
  1061. This page allows you to define all overridden methods which your class 
  1062. requires.  Select one of the following to get help for a particular option on 
  1063. this page. 
  1064.  
  1065.                  Overridden Method Name
  1066.                  Known Parent Methods
  1067.                  Method Description
  1068.                  Public/Private
  1069.                  Class
  1070.                  Class Prefix
  1071.                  Add/Delete/Clear
  1072.  
  1073.  
  1074. ΓòÉΓòÉΓòÉ 64. Help for Overridden Method Name ΓòÉΓòÉΓòÉ
  1075.  
  1076. Overridden Method Name (optional) 
  1077.  
  1078. Description
  1079. This field defines the name of an overridden method. 
  1080.  
  1081. What to Enter
  1082. Enter the name of a method defined in one of your class' parents.  If the 
  1083. method is found, when you compile your class a method stub will appear in your 
  1084. source file. 
  1085.  
  1086. Normally, you do not need to enter a value in this field.  All known parent 
  1087. methods are presented for you in a list box for easy selection. 
  1088.  
  1089. Error Checking
  1090. No error checking is performed for this field. 
  1091.  
  1092. Possible Compilation Errors
  1093. If you enter a method that is not in one of the parents, SOM will generate a 
  1094. compile error. 
  1095.  
  1096.  
  1097. ΓòÉΓòÉΓòÉ 65. Help for Known Parent Methods ΓòÉΓòÉΓòÉ
  1098.  
  1099. Known Parent Methods (optional) 
  1100.  
  1101. Description
  1102. This list box contains the names of all known parent methods. 
  1103.  
  1104. What to Enter
  1105. Select the name of a method which interests you.  That method's description and 
  1106. attributes will be presented for you. 
  1107.  
  1108. To override a parent method, either double-click on the parent method name or 
  1109. press the "Add" button. 
  1110.  
  1111. Error Checking
  1112. No error checking is performed for this field. 
  1113.  
  1114. Possible Compilation Errors
  1115. In the unlikely event that the selected method cannot be found during 
  1116. compilation, SOM will generate a compile error. 
  1117.  
  1118.  
  1119. ΓòÉΓòÉΓòÉ 66. Help for Method Description ΓòÉΓòÉΓòÉ
  1120.  
  1121. Method Description (optional) 
  1122.  
  1123. Description
  1124. This field allows you to describe the purpose of overriding a method. 
  1125.  
  1126. What to Enter
  1127. Free-format any text you need in describing the use of the overridden method. 
  1128. Do NOT enclose your text within comment delimiters. 
  1129.  
  1130. Error Checking
  1131. No error checking is performed for this field. 
  1132.  
  1133. Possible Compilation Errors
  1134. No SOM compilation errors will occur as a result of this field. 
  1135.  
  1136.  
  1137. ΓòÉΓòÉΓòÉ 67. Help for Public/Private ΓòÉΓòÉΓòÉ
  1138.  
  1139. Public/Private (optional) 
  1140.  
  1141. Description
  1142. These radiobuttons define the type of method being overridden. 
  1143.  
  1144. Select "Public" to override a public method. 
  1145.  
  1146. Select "Private" to override a private method. 
  1147.  
  1148.  
  1149. ΓòÉΓòÉΓòÉ 68. Help for Class ΓòÉΓòÉΓòÉ
  1150.  
  1151. Class (optional) 
  1152.  
  1153. Description
  1154. This pushbutton defines whether or not the overridden method operates on 
  1155. instances of the class or on the class itself. 
  1156.  
  1157. Checking this button will override a method which doesn't operate on instances 
  1158. of the class, but on the class itself.  Methods defined with the class 
  1159. attribute can be used to manipulate class data items. 
  1160.  
  1161.  
  1162. ΓòÉΓòÉΓòÉ 69. Help for Class Prefix ΓòÉΓòÉΓòÉ
  1163.  
  1164. Class Prefix (optional) 
  1165.  
  1166. Description
  1167. This field defines a prefix to be used in constructing class methods.  This 
  1168. field is enabled only when the "Class" checkbox is checked. 
  1169.  
  1170. What to Enter
  1171. If you override a method which operates on classes, you must check the "Class" 
  1172. checkbox and enter a prefix in this field.  Only one class prefix is required 
  1173. for all class methods. 
  1174.  
  1175. If you override a class method, you must not use the metaclass section. 
  1176.  
  1177. Error Checking
  1178. If you check the Class checkbox and forget to provide a class prefix before 
  1179. pressing "Add", an error message will be displayed. 
  1180.  
  1181. Possible Compilation Errors
  1182. You must include the class prefix when overriding class methods or compilation 
  1183. errors will result. 
  1184.  
  1185.  
  1186. ΓòÉΓòÉΓòÉ 70. Help for Add/Delete/Clear ΓòÉΓòÉΓòÉ
  1187.  
  1188. Add/Delete/Clear (optional) 
  1189.  
  1190. After defining the overridden method, push "Add" to add it to the overridden 
  1191. method list.  If the method was in the known parent methods list box, it will 
  1192. be removed. 
  1193.  
  1194. Once a method has been added, you may select it from the overridden method list 
  1195. to see that method's definition. 
  1196.  
  1197. If you need to delete a method from the overridden method list, select it and 
  1198. push "Delete".  If the method was in the known parent methods list box, it will 
  1199. be re-added.  Otherwise, it will be deleted. 
  1200.  
  1201. After viewing an overridden method's information, if you need to override 
  1202. another method you may press "Clear" to clear all entry fields and reset all 
  1203. options to their default state.  This is unnecessary if you are only overriding 
  1204. known parent methods.