		TOCX: an ActiveX Extension for Tcl/Tk
		    Version 0.9, March 31st, 1997
		Ioi Lam, Lawrence Suen, Brian C. Smith
			Cornell University 1997

Introduction
=============

TOCX is an Tcl/tk extension library that allows Tcl/tk to load and use 32
bit ActiveX / OLE Controls. 

Features
=========

* Supports 32bit OCXs
* Supports method invocation, Property Get/Set
* Supports Event binding 
* Automatic type conversion

Files
======

MANUAL.TXT - Man page for TkOLE module

CHANGES.TXT - Reflects the latest changes to tocx

demo.tcl - General Demo file 

amovie.tcl - demo file for active movie control

grid.tcl - demo file for the Microsoft Grid control

smile.tcl - demo file for the supplied smile control

tocx.dll - precompiled release tocx extension module 

RegSvr32.exe - OCX Registration Program

Smile.ocx - A Sample OCX 

spam.tcl - SPAM Package Manager

tkOLE.spm - SPAM Installation File

Makefile.vc - Visual C++ makefile

tocx.mdp - Visual C++ 4.2 project workspace

*.cpp/*.h - TkOLE Source files

Installation instructions
===================
* Run spam.tcl from wish 4.1 or later
* Select "Install" from the "File" menu.  An Open File dialog box will appear.
* Open the file tocx.spm in the dialog.
* To uninstall TOCX, select TOCX in the package list window (the lower
  window that lists the packages), and select uninstall from the File menu.

================
BUILDING THE DLL
================

    This version of Tocx can be compiled against Tcl 7.6 or Tcl 8.0a2
    (for normal use under Windows) or with the unreleased (as of Jan
    11, 97) Tk 7.7, for use inside the Netscape plugin.

To compile with TK4.2
=====================
	nmake -f makefile.vc

To test:
========
    ActiveMovie demo
	- Make sure activemovie is installed
	- start wish42
	- source amovie.tcl

    Smile demo
	- register smile.ocx with the command:
	    regsvr32 smile.ocx
	- start wish42
	- source smile.tcl

    Generic demo
	- start wish42
	- source test.txt

To compile with TK8.0a2
=======================
	nmake -f makefile.vc TCL_VER=8.0a2

To test:
========
	Same as above

To compile with plugin 1.1
==========================
	nmake -f makefile.vc TCL_VER=7.7

To Test
=======
	start up netscape
	modify oleplug.tcl (change the "load" line).
	load test.html

=================
DEBUGGING THE DLL
=================

    I have set up an MSVC 42 work-space files (tkole.mdp and
    tkole.mak, you need *both*) for the purpose fo debugging the DLL
    against tk 4.2 and tk 8.0. Debugging under Borland is not
    supported.

    The following section assumes that you are familiar with the MSVC
    4.x debug environment. To find out infomation about MSVC
    debugging, see the on-line menu under

	Visual C++ Books
	  User's Guide
	    Visual C++ USer's Guide
	      Using the Debugger
		Debugging Method and Strategies
		  Debugging DLLs

    (1) Create Tk 4.2 debug executables

        - download tk4.2 and tcl 7.6 source. Change to the WIN
          subdirectory of these packages. Edit the makefile.vc
	  file to enable debug symbols (comment out the NODEBUG line).

	- compile tcl and then tk bu running "nmake -f makefile.vc"

	- create these directories. tk42dbg should be a sybling of
          tocx:

	  tocx\
	  tk42dbg\
	  tk42dbg\bin
	  tk42dbg\lib
	  tk42dbg\lib\tcl7.6
	  tk42dbg\lib\tk4.2

	- copy all the DLL and EXE files from tcl7.6\win and tk4.2\win
          to tk42dbg\bin

        - copy all the files under tcl7.6\library under tk42dbg\lib\tcl7.6 
        - copy all the files under tk4.2\library  under tk42dbg\lib\tk4.2 

        Tk 8.0 debug executables can be created in the same manner.

    (2) Start the tkole.mdp file by double clicking on it, or, in the
        DOS window.

		cd tocx
		msdev tkole.mdp

    (3) Choose the desired configuration (tk42dbg or tk80dbg)

    (4) Start the debug session by typing F5.

    (5) You can set break points inside one of the TOCX source files,
        step in, etc.

===============
TYPE CONVERSION
===============

Here is a list for testing the type converter functions


TYPE		context				where
------------------------------------------------------------------
OLE_COLOR	method arg
		method return type
		prop				Smile, BackColor
		indexed prop

FONT		method arg
		method return type
		prop				Smile, font
		indexed prop


COMMENTS AND SUGGESTIONS
=========================

We welcome users to give suggestions, modify and improve TOCX.
Please Email to cksuen@cs.cornell.edu and ioi@cs.cornell.edu with your
suggestions and code modifications so that we can include it in our next
release.

