home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.lang.pascal:8076 comp.os.msdos.misc:6982 comp.sys.ibm.pc.misc:16570
- Path: sparky!uunet!haven.umd.edu!darwin.sura.net!zaphod.mps.ohio-state.edu!pacific.mps.ohio-state.edu!ohstpy!miavx1!apsvax.aps.muohio.edu!sjmadsen
- Newsgroups: comp.lang.pascal,comp.os.msdos.misc,comp.sys.ibm.pc.misc
- Subject: Re: Switch video mode in Turbo Pascal (5.5, 8514)
- Message-ID: <1993Jan12.092556.14979@miavx1.acs.muohio.edu>
- From: sjmadsen@apsvax.aps.muohio.edu (Steve Madsen)
- Date: 12 Jan 93 00:53:46 -0500
- References: <1993Jan11.090744.4311@fwi.uva.nl>
- Nntp-Posting-Host: apsvax.aps.muohio.edu
- X-Newsreader: TIN [version 1.1 PL6]
- Lines: 28
-
- Sure, this is easy. All you need to do is hook a procedure to
- the global variable ExitProc, which contains a far pointer to a
- procedure, and is *always* called by Turbo when program termination
- comes about, for any reason like runtime errors or Halts, or whatever.
-
- Basically, it's this simple:
-
- Var
- OldExit : Pointer;
-
- {$F+}
- PROCEDURE MyExit;
- begin
- ExitProc := OldExit; { set hook back to old procedure }
- ...
- end;
- {$F-}
-
- ..
-
- BEGIN
- OldExit := ExitProc;
- ExitProc := @MyExit;
- END.
-
- Then you just need to put something like TextMode(LastMode) or
- TextMode(CO80) into your exit procedure, and the text screen should
- always come back normally.
-