home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / spezial / 22 / ubase.pas < prev   
Encoding:
Pascal/Delphi Source File  |  1991-01-04  |  1.9 KB  |  57 lines

  1. (* ----------------------------------------------------- *)
  2. (*                     UBASE.PAS                         *)
  3. (*                                                       *)
  4. (* ■ Base: Dient als Ur-Vater für alle Objekte, damit    *)
  5. (*   Nachkommen leicht z.B. in Listen verwaltet werden   *)
  6. (*   können.                                             *)
  7. (* ■ Abstract: Bei manchen Methoden eines Objekts will   *)
  8. (*   man eine Neuimplementation erzwingen; damit sie     *)
  9. (*   nicht vergessen wird, kann "Abstract" mit dem Namen *)
  10. (*   des Objekts aufgerufen werden.                      *)
  11. (*                                                       *)
  12. (*            (c) 1991 by R.Reichert & toolbox           *)
  13. (* ----------------------------------------------------- *)
  14. UNIT UBase;
  15.  
  16. INTERFACE
  17.  
  18. TYPE
  19.   BasePtr = ^Base;
  20.   Base    = OBJECT
  21.     DESTRUCTOR Done;                               VIRTUAL;
  22.   END;
  23.  
  24. PROCEDURE Abstract (Name : STRING);
  25.  
  26. IMPLEMENTATION
  27.  
  28. PROCEDURE Abstract (Name : STRING);
  29. BEGIN
  30.   Writeln ('Methode von ', Name,
  31.            'nicht reimplementiert !');
  32.   RunError (232);
  33. END;
  34.  
  35. DESTRUCTOR Base.Done;
  36. BEGIN
  37.   { kein Aufruf von "Abstract", weil ein Nachkomme nicht
  38.     zwingend eigenen Destruktor braucht.                  }
  39. END;
  40.  
  41. (* ----------------------------------------------------- *)
  42. (* Eigene Heap-Error-Funktion; Heap-Fehler liefert damit *)
  43. (* einen NIL-Pointer zurück anstatt einen Runtime-Error  *)
  44. (* zu erzeugen (siehe Turbo 5.5 Handbuch, S. 113).       *)
  45. (* ----------------------------------------------------- *)
  46. {$F+}    FUNCTION HeapFunc (Size : WORD) : INTEGER;   {$F-}
  47. BEGIN
  48.   HeapFunc := 1;
  49. END;
  50.  
  51. BEGIN
  52.   HeapError :=  @HeapFunc;
  53. END.
  54. (* ----------------------------------------------------- *)
  55. (*                Ende von UBASE.PAS                     *)
  56. (* ----------------------------------------------------- *)
  57.