Contents

Introduction to TclPro

About the TclPro Documentation
TclPro Technical Support
Finding Information about Tcl/Tk
Tcl/Tk Training
Related Documentation

Installing TclPro

Installing TclPro from CD or the Web
Installing TclPro from CD
Installing TclPro from the Web
Installing TclPro on Windows
Installing TclPro on Unix
Mounting the CD-ROM and Running the Installer
Installing TclPro
Installing Ajuba Solutions License Server
Configuring Ajuba Solutions License Server
Changing TclPro License Information
Installing Adobe Acrobat Reader
Unmounting the CD-ROM

TclPro Interpreters and Extensions

TclPro Interpreters
Running the TclPro Interpreters on Unix
Running the TclPro Interpreters on Windows
Extensions Incorporated in TclPro
[incr Tcl]
Expect
Extended Tcl (TclX)

TclPro Debugger

Overview of TclPro Debugger
Supported Tcl Versions
Starting TclPro Debugger
The TclPro Debugger Main Window
The Tool Bar
The Stack Display
The Variable Display
The Code Display
The Result Display
Setting Preferences
Appearance Preferences
Window Preferences
Startup and Exit Preferences
Other Preferences
Managing Projects
Creating a New Project
Opening an Existing Project
Saving a Project
Closing a Project
Changing Project Settings
Changing Project Application Settings
Changing Project Instrumentation Settings
Changing Project Error Settings
Setting Default Project Settings
Opening a File
Controlling your Application
Running Code with TclPro Debugger
Run to Cursor
Stepping through Code
Stepping In
Stepping Out
Stepping Over
Stepping to Result
Interrupting the Application
Killing the Application
Restarting the Application
Quitting TclPro Debugger
Using Breakpoints
Line-based breakpoints
Variable Breakpoints
Manipulating Breakpoints
Viewing Breakpoints in the Breakpoints Window
Navigating Code
Going to a Specified Line
Using the Find Utility
Finding Procedures
Using the Window Menu
Displaying Code and Data
Watching Variables
Displaying Data
Manipulating Data
Error Handling
Parsing Error Handling
Runtime Error Handling
About TclPro Instrumentation
Debugging Remote, Embedded, and CGI Applications
Modifying a Tcl Script for Remote Debugging
Remote Debugging Procedures
Creating a "Wrapper" Script for Remote Debugging
Modifying an Existing Script for Remote Debugging
Creating a Remote Debugging Project
Launching your Remote Application
Viewing Connection Status
Using Custom Tcl Interpreters with TclPro Debugger

TclPro Checker

Supported Tcl Versions
Using TclPro Checker
One-Pass and Two-Pass Checking
TclPro Checker Messages
Controlling Feedback on Errors and Warnings
Parsing Errors
Syntax Errors
Platform Portability Warnings
Suggestion for Upgrading
Performance Warnings
Usage Warnings
Warning and Error Flags
Suppressing Specific Messages
Examples of Output from TclPro Checker
Specifying Verbose Feedback
Specifying Quiet Feedback
Specifying Use of Older Versions
Error Checking
Error and Warning Checking
Checking for All Warnings and Errors

TclPro Compiler

Supported Versions
Overview
Compiling Your Code
Bytecode Files
Prepending Prefix Text
Changes in Behavior
Example 1: Cloning Procedures
What Is and Isn't Compiled
Example 2: Procedures Used with Namespace
Compiler Components
Creating Package Indexes
Distributing Bytecode Files
Compilation Errors

TclPro Wrapper

How the Internal File Archive Works in a Wrapped Application
Wrapping an Application
Wrapping Tcl Scripts and Data Files
Specifying the Tcl Interpreter
Specifying the Startup Tcl Script
Passing Arguments to the Startup Tcl Script
Specifying the Name of a Wrapped Application
Determining Path References in Wrapped Applications
Specifying TclPro Wrapper Command Line Arguments Using Standard Input
Specifying Code to Execute at Application Startup
Wrapping Libraries and Packages
Wrapping Libraries of Tcl Scripts
Wrapping Binary Shared Libraries
Wrapping Tcl Script Packages
Wrapping Packages Containing Binary Shared Libraries
Specifying a Temporary Directory
Getting Detailed Wrapping Feedback
Static and Dynamic Linking with Wrapped Applications
Deciding Whether Static or Dynamic Linking is More Appropriate
Creating and Distributing Dynamically-Linked Wrapped Applications
Wrapping Applications with a Custom Interpreter or Custom Initialization Libraries
Specifying a Custom Interpreter or Custom Initialization Files
Creating a Statically-Linked Wrapped Application with a Custom Interpreter and Standard Initialization Files
Creating a Statically-Linked Wrapped Application with a Standard Interpreter and Custom Initialization Files
Creating a Statically-Linked Wrapped Application with a Custom Interpreter and Custom Initialization Files
Creating a Dynamically-Linked Wrapped Application with a Custom Interpreter
Defining New uses Options
Preparing an Application for Wrapping
Detecting When an Application Is Wrapped
Modifying Custom Shells
Changing File References
Accessing Unwrapped Files
Accessing Files from a Shared Directory
Accessing Wrapped Files Relative to a Script's Directory
Auto-Loading Wrapped Tcl Script Libraries
Changing the Windows Icon for a Wrapped Application

Creating Custom Interpreters with TclPro

Overview of the TclPro Development Environment
Locations of the Libraries
Debug and Non-Debug Libraries for Windows
The Sample Application
Creating Regular Tcl Interpreters
Creating Statically-Linked Interpreters
Statically Linking Windows Interpreters
Statically Linking Unix Interpreters
Creating Dynamically-Linked Interpreters
Dynamically Linking Windows Interpreters
Dynamically Linking Unix Interpreters
Creating Base Applications for TclPro Wrapper
TclPro_Init
Providing Your Own Main Program
Using the Main Program from Tcl or Tk 8.3
The Application Initialization API
Linking Windows Base Applications
Linking Unix Base Applications

Ajuba Solutions License Server

How Licensing Works
How TclPro Applications Obtain Licenses
How the License Server Manages Shared Network Licenses
License Overdraft
Ajuba Solutions License Server Installation
Installing the Ajuba Solutions License Server Software
Setting the Initial Configuration
Ajuba Solutions License Server Installed Files
Ajuba Solutions License Server Administration
Managing Licenses
Revoking Licenses
Changing Email Notifications
Setting Date Formats
Viewing Reports

TclPro Checker Messages

Parsing Errors
Syntax Errors
Platform Portability Warnings
Performance Warnings
Usage Warnings
A Listing of the Messages
TclPro Checker Message Descriptions in Detail

Index