Provided by: tk8.6-doc_8.6.13-2_all bug

NAME

       Tk_InitStubs - initialize the Tk stubs mechanism

SYNOPSIS

       #include <tk.h>

       const char *
       Tk_InitStubs(interp, version, exact)

ARGUMENTS

       Tcl_Interp *interp (in)          Tcl interpreter handle.

       char *version (in)               A  version  string  consisting  of  one  or  more decimal
                                        numbers separated by dots.

       int exact (in)                   Non-zero  means  that  only  the  particular  Tk  version
                                        specified  by  version  is  acceptable.   Zero means that
                                        versions newer than version are also acceptable  as  long
                                        as they have the same major version number as version.
_________________________________________________________________________________________________

INTRODUCTION

       The  Tcl  stubs mechanism defines a way to dynamically bind extensions to a particular Tcl
       implementation at run time.  the stubs  mechanism  requires  no  changes  to  applications
       incorporating  Tcl/Tk  interpreters.   Only  developers creating C-based Tcl/Tk extensions
       need  to  take  steps  to  use  the  stubs  mechanism  with  their  extensions.   See  the
       Tcl_InitStubs page for more information.

       Enabling the stubs mechanism for a Tcl/Tk extension requires the following steps:

       1)   Call Tcl_InitStubs in the extension before calling any other Tcl functions.

       2)   Call Tk_InitStubs if the extension before calling any other Tk functions.

       2)   Define  the  USE_TCL_STUBS and the USE_TK_STUBS symbols. Typically, you would include
            the -DUSE_TCL_STUBS and the -DUSE_TK_STUBS flags when compiling the extension.

       3)   Link the extension with the Tcl and Tk stubs libraries instead of  the  standard  Tcl
            and  Tk  libraries.   On  Unix  platforms,  the library names are libtclstub8.4.a and
            libtkstub8.4.a; on  Windows  platforms,  the  library  names  are  tclstub84.lib  and
            tkstub84.lib.  Adjust the library names with appropriate version number but note that
            the extension may only be used with versions of Tcl/Tk that have that version  number
            or higher.

DESCRIPTION

       Tk_InitStubs attempts to initialize the Tk stub table pointers and ensure that the correct
       version of Tk is loaded.  In addition to an interpreter handle, it accepts as arguments  a
       version  number  and  a  Boolean  flag  indicating whether the extension requires an exact
       version match or not.  If exact is 0, then the extension is indicating that newer versions
       of  Tk  are acceptable as long as they have the same major version number as version; non-
       zero means that only the specified version is acceptable.  Tcl_InitStubs returns a  string
       containing  the  actual version of Tk satisfying the request, or NULL if the Tk version is
       not acceptable, does not support  the  stubs  mechanism,  or  any  other  error  condition
       occurred.

SEE ALSO

       Tcl_InitStubs

KEYWORDS

       stubs