home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1991 / 05 / grdlagen / ubase.pas < prev    next >
Pascal/Delphi Source File  |  1991-04-02  |  2KB  |  58 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 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+}
  47.   FUNCTION HeapFunc(Size : WORD) : INTEGER;
  48. {$F-}
  49.   BEGIN
  50.     HeapFunc := 1;
  51.   END;
  52.  
  53. BEGIN
  54.   HeapError :=  @HeapFunc;
  55. END.
  56. (* ------------------------------------------------------ *)
  57. (*                 Ende von UBASE.PAS                     *)
  58.