[Back to MISC SWAG index] [Back to Main SWAG index] [Original]

    {
    >Well, Uh, I meant creating pascal compiled files, and basic compiled
    >files and putting them in a BAT file so that they will execute in order.

    >Oh and, uh , how to do you compile programs in tp 7 so that they are not
    > broken (or shut off in the middle if someone pressed control break)?
    >I can't stop the control break thing...

    A common question.  Here is my solution:

    {****************************************************************************
     * Procedure ..... DoNothing
     * Purpose ....... A do-nothing procedure to intercept interrupts and stop
     *                 them from happening.
     * Parameters .... None
     * Returns ....... Nothing
     * Notes ......... None
     * Author ........ Martin Richardson
     * Date .......... February 19, 1993
     ****************************************************************************}

    {$F+}
    PROCEDURE DoNothing; INTERRUPT;
    BEGIN
    END;
    {$F-}

    {****************************************************************************
     * Procedure ..... SetBreak()
     * Purpose ....... To dis-allow CTRL-BREAKING out of a program.
     * Parameters .... SetOn        False to turn CTRL-BREAK off
     *                              True to turn it back on again
     * Returns ....... Nothing
     * Notes ......... Uses the procedure DoNothing above to remap INT 1Bh to.
     * Author ........ Martin Richardson
     * Date .......... February 19, 1993
     ****************************************************************************}
    PROCEDURE SetBreak( SetOn: BOOLEAN );
    CONST Int1BSave : Pointer = NIL;
    BEGIN
      IF NOT SetOn THEN BEGIN
         GetIntVec($1B,Int1BSave);
         SetIntVec($1B,Addr(DoNothing));
      END ELSE
          IF Int1BSave <> NIL THEN SetIntVec($1B,Int1BSave);
    END;

    {
    However, this method will not prevent them from breaking out of the .BAT
    file you described above to link the programs together with!  (You will
    need a TSR to do that.)
    }

[Back to MISC SWAG index] [Back to Main SWAG index] [Original]