The routines included here allow you to print debug messages to
a secondary B&W monitor. Support is included for Windows 3.0,
DOS and Actor 3.1. You can print strings or variables using a
format specifier (printf style). The routines will scroll the
screen once you get to the bottom.
I have modifed MONODLL.CPP and added a large buffer that will be
dumped to a file called MONO.LOG when the DLL is closed. This is
a multi-page buffer and can be enlarged by the programmer. I
have also added another subroutine in MONODLL that allows you to
configure the buffer and how it is or isnt used. I am only using
C++ so that I can access fstream.h and simplify the file i/o.
That section could be re-written and the program could be done
in C if you do not have a cpp compiler. I also added a call to
Borland's movmem routine to scroll the screen. All of the
changes listed here were not included in the MONODOS.C DOS
version of the library.
MONO.MAK -> Borland Make file for MONODOS, MONODLL and MONOWIN.
MONODOS.C -> This is a DOS version that supports strings
and variables using a format specifier.
MONODOS.H -> Header file for MONODOS.C.
MONOS/L.LIB -> Borland small and large link librarys.
MONODLL.CPP -> This is a Windows DLL that supports only strings.
MONODLL.H -> Header file for MONODLL.C.
MONODLL.DEF -> Definition file for the DLL.
MONODLL.DLL -> Windows 3.0 DLL.
MONOWIN.C -> This is a Windows compatible library (non-DLL) that
adds the variables/format support.
MONOWIN.H -> Header file for MONOWIN.C.
MONOWINS/L.LIB -> Borland small and large link librarys.
MDA.CLS -> Actor class support for MONODLL.C.
I use a secondary monochrome monitor to help me debug my
programs. For less than $150 you can get a good hercules card
and monitor. I highly recommend them, especially when working
in Windows. A hercules card or monochrome card will co-exist
with a vga card.
To use MDA in Actor:
Copy the MDA.CLS source file into the \ACTOR\CLASSES directory and put the
MONODLL.DLL library somewhere. A convienent place for the DLL is in the main
Windows 3 directory (\WIN). That is the default place windows will look for
the DLL. If you put it somewhere else you will have to edit the MDA:init
method and point to the directory where you place the DLL.
Next you must load the Actor classes Proc and Library. Do this by
loading the two source files, PROC.CLS and LIBRARY.CLS (in that order) from
the CLASSES directory. Finally, load the MDA class by loading the MDA.CLS
source file. If all goes well you should be able to test it by entering the
following in actor:
P := new(MDA);
and you should see "" on the monochrome monitor. The
MDA class has not been tested in Actor 4.0.
Good luck. I hope you find these routines as valuable as I do.
Feel free to send me comments or suggestions.
Kevin Pinkerton, 301-862-8862 (work), 301-475-9755 (home)
Rt. 1, Box 140-1A
Leonardtown, Md 20650