home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgLangD.iso / T-Pascal.70 / DEMOS.ZIP / OVRDEMO.PAS < prev    next >
Pascal/Delphi Source File  |  1992-10-30  |  2KB  |  56 lines

  1. {************************************************}
  2. {                                                }
  3. { Overlay Demo                                   }
  4. { Copyright (c) 1985,90 by Borland International }
  5. {                                                }
  6. {************************************************}
  7.  
  8. {$F+,O+}
  9. program OvrDemo;
  10. (*
  11.   This is a simple example of how to use the new overlay system. For
  12.   more complete documentation, refer to the overlay chapter in the
  13.   Programmer's Guide. Here's a quick checklist:
  14.  
  15.     1.  Turn "far calls" on {$F+} (to be safe, in all overlaid units and
  16.         the main program).
  17.     2.  Turn "Overlays allowed" on {$O+}
  18.     3.  Use Overlay unit in main program.
  19.     4.  Issue separate {$O} directives for each overlaid unit.
  20.     5.  Make sure to call OvrInit and pass the name of the .OVR file.
  21.     6.  Test OvrResult after OvrInit calls (optional).
  22.     7.  Compile to disk (cannot run in memory).
  23.  
  24.   Here are the overlay error returns for quick reference:
  25.  
  26.     const
  27.       ovrOk          =  0;   { Success }
  28.       ovrError       = -1;   { Overlay manager error }
  29.       ovrNotFound    = -2;   { Overlay file not found }
  30.       ovrNoMemory    = -3;   { Not enough memory for overlay buffer }
  31.       ovrIOError     = -4;   { Overlay file I/O error }
  32.       ovrNoEMSDriver = -5;   { EMS driver not installed }
  33.       ovrNoEMSMemory = -6;   { Not enough EMS memory }
  34. *)
  35.  
  36. uses
  37.   Overlay, Crt, OvrDemo1, OvrDemo2;
  38.  
  39. {$O OvrDemo1}                  { overlay 'em }
  40. {$O OvrDemo2}
  41.  
  42. begin
  43.   TextAttr := White;
  44.   ClrScr;
  45.   OvrInit('OVRDEMO.OVR');       { init overlay system, reserve heap space }
  46.   if OvrResult <> 0 then
  47.   begin
  48.     Writeln('Overlay error: ', OvrResult);
  49.     Halt(1);
  50.   end;
  51.   repeat
  52.     Write1;
  53.     Write2;
  54.   until KeyPressed;
  55. end.
  56.