These are the sources to BBTRX1WL.EXE.
Only those files that were changed from the original distribution off the
TenTec web page are included here. This modification is not specific to WriteLog, 
but is used by WriteLog. 
All modifications were done by W5XD.
May, 2000.

What do the modifications accomplish?

After modification, the Pegasus control windows operate exactly as they
did before. As the control windows first are brought up by the program,
the program now creates a COM object with an IDispatch implementation.
The implementation has methods on it for commanding the Pegasus software
to a given mode/frequency, and methods on it for querying the rig's
mode/frequency.

The IDispatch implementation is made available to other programs
via the Windows API RegisterActiveObject. Other applications can
connect to the Pegasus calling the Windows API GetActiveObject.
This modification sets up lifetime management such that the 
Pegasus software cannot be started, stopped, or even held
invisibly active by COM clients. That is, the Pegasus window
lifetimes are exactly as they always have been. That means,
that any client (like WriteLog) cannot start the Pegasus
via COM, nor can it prevent the Pegaus from exiting through
COM.


Source files modified, and reasons:

*******
bbtrx1.mak

Add wlinterf.cpp.
Link to mfcoleui.lib, compobj.lib, storage.lib, ole2disp.lib. The corresponding
DLLs for all but the first of these are installed with Win 9x/NT systems and with
any OLE 2.0 application on Win 3.1. MFCOLEUI.DLL must be installed with BBTRX1WL.EXE.

*******
bbtrx1,rc

Add IDP_OLE_INIT_FAILED string

*******
resource.h

Add #define IDP_OLE_INIT_FAILED

*******
stdafx.h

Add #include <afxdisp.h>

*******
tttrx.cpp

Add code to constructor/destructor/InitInstance

*******
wlinterf.cpp/wlinterf.h

New class derived from CCmdTarget with IDispatch implementation.