Friday, August 6, 2010

Tcl and .NET

TclBridge allows full access to Tcl/Tk from all .NET languages.

What: TclBridge
Where: http://www.tclbridge.com/
License: Commercial/Shareware
Updated: 12/23/2002
Author: Joe Mistachkin
Contact: mailto:joe@mistachkin.com
Version: 1.8.1 (stable)
Build: 5304 (December 23, 2002)
Requires: Tcl/Tk 8.4+ compiled with threading enabled

Description:

TclBridge is a powerful component designed to allow seamless integration of Tcl/Tk and any ActiveX capable language (such as Visual Basic 6 and any of the Microsoft .NET languages). This component is fully multi-threaded and thread-safe (each interpreter has its own thread).

Additionally, full Tcl/Tk stubs support has been added (build 5000+). This component should work with any version of Tcl/Tk 8.3.2 or higher (including TclPro 1.4.1 or higher). Multiple Tcl interpreters can be easily created, used, and destroyed. In addition, there is a simple yet powerful facility that allows Tcl to invoke YOUR custom COM/ActiveX components. You simply specify the Tcl command name to add, the instance or progID of the COM object to call, the method name to call, and the "clientData" (or cookie) you want to receive when called by the specified Tcl interpreter. In short, Tcl commands are transparently mapped to COM method calls that you control in a fully reentrant, thread-safe manner. Command arguments are handled automatically either as one long string or as separate strings (can be toggled dynamically).

Please see the official web site for more information and complete documentation in HTML at:

http://www.tclbridge.com/html/index.html or Microsoft Compiled Help (CHM) at: http://www.tclbridge.com/tclbridge.chm.

Also includes the following:

I. Full Tk support.
II. Stable asynchronous evaluation.
III. Special debugging support, such as the ability to use multiple debuggers at once, such as Visual Basic
and TclPro (a very powerful combination) and other diagnostic functionality.
IV. TCL2COM, which allows Tcl scripts to utilize any ActiveX object that supports automation using
TclBridge.
V. TCL2ASP, a prototype component which allows easy integration with Microsoft IIS using TclBridge.
VI. VBS2TCL, a prototype component which allows easy integration with VBScript. Due to the limitations
of VBScript (MSKB Q197957), TclBridge does not work with VBScript without VBS2TCL.
VII. Works with Internet Explorer 4, 5, and 6.



 
 
TclBridge Overview This section gives a general overview of the component.
Release Notes
This section contains the release notes, including licensing information.
Registration
This section explains how to acquire a license to the component.
License
This section is the license agreement for the component.
Support
This section explains how to obtain technical support for the component.
Requirements
This section lists the software requirements for the component.
Limitations
This section discusses the current limitations of the component.
Acknowledgements
This section lists the people and organizations that were instrumental during the development of the component.
 
   Library Functions   
 
IsDebugVersion
Returns whether or not the library is the debug version.
IsValidLicenseAvailable
Returns whether or not the library is properly licensed.
GetObjectCount
Returns how many library objects are active.
GetMaximumCallbacks
Returns how many custom commands can be registered.
SetMaximumCallbacks
Sets how many custom commands can be registered.
GetMessageWaitTime
Returns the number of milliseconds to wait for a message.
SetMessageWaitTime
Sets the number of milliseconds to wait for a message.
GetOptions
Gets the current options for created objects.
SetOptions
Sets the current options for created objects.
GetInterpreterOptions
Gets the current options for created interpreters.
SetInterpreterOptions
Sets the current options for created interpreters.
GetReferenceCount
Gets the reference count of an object.
AddReference
Calls the "AddRef" method of an object.
ReleaseReference
Calls the "Release" method of an object.
GetObjectInterface
Allows non-default IDispatch supporting interfaces to be accessed late bound.
InvokeObject
Invoke an object via the IDispatch interface.
KillInterpreters
Deletes all interpreters in the process.
 
   BasicTcl Object Methods   
 
CreateInterpreter
Create a new Tcl interpreter and store it in the "Interpreter" parameter.
DeleteInterpreter
Delete a Tcl interpreter and reset the "Interpreter" parameter to zero.
IsInterpreterDeleted
Check to see if a Tcl interpreter is deleted.
EvaluateString
Evaluate any valid Tcl string.
EvaluateGlobalString
Evaluate any valid Tcl string in the global context.
EvaluateFile
Evaluate any valid Tcl file.
Evaluate
Evaluate a Tcl string or file.
IsInterpreterSafe
Check if the Tcl interpreter is "safe".
MakeInterpreterSafe
Make the Tcl interpreter "safe".
CreateCommand
Create a custom Tcl command that calls into a COM or ActiveX object.
CreateDynamicCommand
Create a "dynamic" custom Tcl command that calls into a COM or ActiveX object.
DeleteCommand
Delete a custom Tcl command.
GetResult
Get the current string result for a specific Tcl interpreter.
SetResult
Set the current string result for a specific Tcl interpreter.
ClearResult
Clear the current string result for a specific Tcl interpreter.
GetErrorLine
Get the current error line for a specific Tcl interpreter.
SetErrorLine
Set the current error line for a specific Tcl interpreter.
GetCommandOptions
Get the command options for a specific Tcl custom command.
SetCommandOptions
Set the command options for a specific Tcl custom command.
AllocateMemory
Allocates a block of Tcl memory.
FreeMemory
Frees a block of Tcl memory.
PreserveMemory
Preserve a block of Tcl memory.
ReleaseMemory
Release a block of Tcl memory.
EventuallyFreeMemory
Eventually free a block of Tcl memory.
ViewLicense
View license for this component.
CheckLicense
Check license for this component.
FireEvaluateComplete
Fires the EvaluateComplete event.
GetInterpreterList
Returns the local or global interpreter list.
GetCommandList
Returns the custom command list for the specified object.
 
   BasicTcl Object Events   
 
EvaluateComplete
Used to notify a container that a Tcl evaluation has been completed.
 
   AdvancedTcl Object Methods   
 
CreateInterpreter
Create a new Tcl interpreter and store it in the "Interpreter" parameter.
DeleteInterpreter
Delete a Tcl interpreter and reset the "Interpreter" parameter to zero.
IsInterpreterDeleted
Check to see if a Tcl interpreter is deleted.
EvaluateString
Evaluate any valid Tcl string.
EvaluateGlobalString
Evaluate any valid Tcl string in the global context.
EvaluateFile
Evaluate any valid Tcl file.
Evaluate
Evaluate a Tcl string or file.
CreateCommand
Create a custom Tcl command that calls into a COM or ActiveX object.
CreateDynamicCommand
Create a "dynamic" custom Tcl command that calls into a COM or ActiveX object.
DeleteCommand
Delete a custom Tcl command.
GetResult
Get the current string result for a specific Tcl interpreter.
SetResult
Set the current string result for a specific Tcl interpreter.
ClearResult
Clear the current string result for a specific Tcl interpreter.
GetErrorLine
Get the current error line for a specific Tcl interpreter.
SetErrorLine
Set the current error line for a specific Tcl interpreter.
GetCommandOptions
Get the command options for a specific Tcl custom command.
SetCommandOptions
Set the command options for a specific Tcl custom command.
GetVariable
Get the value of a Tcl variable.
SetVariable
Set the value of a Tcl variable.
UnsetVariable
Unset a Tcl variable.
LinkVariable
Links a variable to a Tcl variable.
UnlinkVariable
Unlinks a variable from a Tcl variable.
UpdateLinkedVariable
Manually updates the value of a linked Tcl variable.
AllocateMemory
Allocates a block of Tcl memory.
FreeMemory
Frees a block of Tcl memory.
GetStringValue
Get the contents of the Tcl memory block as a string.
SetStringValue
Set the contents of the Tcl memory block to a string.
PreserveMemory
Preserve a block of Tcl memory.
ReleaseMemory
Release a block of Tcl memory.
EventuallyFreeMemory
Eventually free a block of Tcl memory.
ViewLicense
View license for this component.
CheckLicense
Check license for this component.
FireEvaluateComplete
Fires the EvaluateComplete event.
GetInterpreterList
Returns the local or global interpreter list.
GetCommandList
Returns the custom command list for the specified object.
 
   AdvancedTcl Object Events   
 
EvaluateComplete
Used to notify a container that a Tcl evaluation has been completed.
 
   Environment   
 
Environment Variables
The environment variables applicable to Tcl/Tk and TclBridge. Also see the GetOptions and SetOptions functions.
 
   Enumerations   
 
TCLBResultCodes
The possible result codes returned from the EvaluateString, EvaluateGlobalString, EvaluateFile, and Evaluate methods.
TCLBOptions
The available options for use with the GetOptions and SetOptions functions (may be combined).
TCLBInterpreterOptions
The available options for use with the GetInterpreterOptions and SetInterpreterOptions functions (may be combined).
TCLBCommandOptions
The available options for use with the Evaluate, GetCommandOptions, and SetCommandOptions methods (may be combined).
TCLBVariableFlags
The available options for use with the GetVariable and SetVariable methods.
TCLBValueTypes
Math function value types.
TCLBVariableLinkTypes
The available options for use with the LinkVariable method.

 
   TclBridge Constants   
 
TCLB_MAXIMUM_CALLBACKS  Default maximum number of custom commands.
TCLB_INVALID_INTERPRETER  A value that represents an invalid interpreter.
TCLB_STRUCTURE_VERSION  Internal data structure version (not currently used externally).
TCLB_FALSE  A value that represents a false statement.
TCLB_TRUE  A value that represents a true statement.
TCLB_NO_INDEX  The specified callback or custom command was not found (not currently used externally).
TCLB_INVALID_KEY  The specified string key is not found or invalid.
TCLB_LENGTH_UNKNOWN  The specified linked string variable is null terminated.
 
   Tcl/Tk Constants   
 
TCL_VERSION  The string representation of the major and minor versions. This is the version of Tcl that the component was compiled against.
TCL_PATCH_LEVEL  The string representation of the major version, the minor version, and the patch level. This is the patch level of Tcl that the component was compiled against.
TCL_MAJOR_VERSION  Major version of the Tcl interpreter used by the library.
TCL_MINOR_VERSION  Minor version of the Tcl interpreter used by the library.
TCL_RELEASE_SERIAL  Patch level of the Tcl interpreter used by the library.
TCL_RELEASE_LEVEL  Release level of the Tcl interpreter used by the library.
TCL_ALPHA_RELEASE  Release level for an alpha version.
TCL_BETA_RELEASE  Release level for a beta version.
TCL_FINAL_RELEASE  Release level for a final version.
TCL_MAX_PREC  The maximum number of digits of precision for a double.
TCL_DOUBLE_SPACE  The number of bytes required to hold a double.
TCL_RESULT_SIZE  The default string result size in bytes.
TCL_INTEGER_SPACE  The number of bytes required to hold a string representation of an integer in base ten.
 
________________________________________
Copyright © 2000-2008 by Joseph Mistachkin. All rights reserved. Legal notices.
 

 

No comments: