home *** CD-ROM | disk | FTP | other *** search
/ Mega CD-ROM 1 / megacd_rom_1.zip / megacd_rom_1 / CLIPPER / OCLIP.ZIP / HISTORY.TXT next >
Text File  |  1991-11-08  |  3KB  |  86 lines

  1. ╔══════════════════════════════════════════════════════════════════════╗
  2. ║                                o:Clip                                ║
  3. ║             An Object Oriented Extension to Clipper 5.01             ║
  4. ║                 (c) 1991 Peter M. Freese, CyberSoft                  ║
  5. ╚══════════════════════════════════════════════════════════════════════╝
  6.  
  7. Version 1.01 - November 8, 1991
  8.  
  9. Change History
  10.  
  11.  
  12. [08/31/91] Version .90
  13.  
  14. Changed the syntax of the method definition to use '=' instead of comma
  15. as a delineator between <MethodName> and <MethodUDF>.  This was done to
  16. allow greater compatability with Class(y) at the advice of Anton van
  17. Straaten.  This new syntax also allows multiple method definitions to be
  18. comma separated, i.e., the follow is now legal:
  19.  
  20.      CLASS Foo
  21.        METHOD New=FooNew, Bar=FooBar, Save, Debug
  22.        VAR ......
  23.      ENDCLASS
  24.  
  25. Removed the self() function.  References to self() will now use the
  26. QSELF() function contained in Plankton.  This reduces the code overhead
  27. by a slight amount, and should improve performance as well, since
  28. QSELF() is a Plankton operator rather than an external function.  I
  29. would have used this function to begin with, but I was unaware of its
  30. existance until it was pointed out to me by Anton.
  31.  
  32. Renamed some of the internal symbols to use 'IVAR' and 'SIVAR' instead
  33. of 'OVAR' and 'SOVAR' to be consistent with current buzzwords.
  34.  
  35. There is still a problem with the debugger when using 'mangled' method
  36. names (i.e., MethodUDF <> MethodName).  The debugger insists that the
  37. MethodName function does not exist.  I'm still stumped on this one, but
  38. I have a feeling the problem may be in one of the Clipper __Class
  39. functions....
  40.  
  41.  
  42. [09/01/91] Version .91
  43.  
  44. Eliminated the need to reference Self as a function - it is no longer
  45. necessary to use parens.  This was done to allow compatability with
  46. Class(y) and SuperClass.  This may require doing a global replace for
  47. "self()" -> "self" on method functions, but other than that, should not
  48. cause any problems.
  49.  
  50. Removed the macro call in __DefineClass for the parent class function
  51. call.  This call ensures that a new class's parent class definition
  52. function has been called before the subclass's class definition
  53. function.  This is now accomplished via a code block, which should be
  54. faster as well as require less overhead, but requires a little more
  55. trickery on the preprocessor's part.  Notice that an interim command
  56. state is necessary in order to convert the ParentClass to a function and
  57. then blockify.
  58.  
  59.  
  60. [09/21/91] Version .92
  61.  
  62. Added the ability to call an overridden method.  This is accomplished by
  63. preceding the desired message with a "Parent" or "Super" message.  For
  64. example, to call an overridden New method, we would use:
  65.  
  66.      obj:Parent:New
  67.  
  68. Messages should not be chained after calling an overridden method, since
  69. they will not return a proper copy of self.  This was done to allow
  70. Methods to return values other than self if desired.
  71.  
  72.  
  73. [10/15/91] Version 1.00
  74.  
  75. "Official release".  Changes in this version were basically cosmetic,
  76. and involved an expanded doc file, and cleaning up the code for
  77. readability.
  78.  
  79.  
  80. [11/08/91] Version 1.01
  81.  
  82. Modified the code to call an overridden parent method.  This fixes an
  83. infinite recursion bug that would occur if calling a parent method which
  84. called a parent method.
  85.  
  86.