home *** CD-ROM | disk | FTP | other *** search
-
- Unit Heap;
-
- {----------------------------------------------------------------------------}
-
- interface
-
- uses
- DOS, { For SetIntVec and GetIntVec }
- MapInfo; { To get statement addresses }
-
- type
- Handler = Procedure(Size : Word; BlockAddr,CallAddr : Pointer);
-
- { Here's a way to assign procedures through pointer variables.
- This eliminates any circular references to other units. }
-
- var
- Allocation_Handler_,
- Deallocation_Handler_ : Handler;
- Allocation_Handler : Pointer absolute Allocation_Handler_;
- Deallocation_Handler : Pointer absolute Deallocation_Handler_;
-
- Allocation_Handler_Active,
- Deallocation_Handler_Active,
- FatalHeapError : Boolean;
- InterceptFatalHeapErrors : Boolean;
-
- const
- GetMemInt = $F0; { User-selectable interrupt vectors for }
- FreeMemInt = $F1; { intercepting the heap functions. }
- RestartInt = $F2; { Restart after stopping the program. }
-
- Procedure HeapOn; { Begin intercepting the heap functions. }
- Procedure HeapOff; { Quit intercepting the heap functions. }
-
- Procedure Enter_Debugger(CallAddr : Pointer);
-
-