tcl7.6 C API - AppInit






NAME

     Tcl_AppInit - perform application-specific initialization


SYNOPSIS

     #include <tcl.h>

     int
     Tcl_AppInit(interp)


ARGUMENTS

     Tcl_Interp   *interp   (in)      Interpreter for the  appli-
                                      cation.





DESCRIPTION

     Tcl_AppInit is a ``hook'' procedure that is invoked  by  the
     main  programs  for Tcl applications such as tclsh and wish.
     Its purpose is to allow new Tcl applications to  be  created
     without  modifying the main programs provided as part of Tcl
     and Tk.  To create a new application you write a new version
     of  Tcl_AppInit  to  replace the default version provided by
     Tcl, then link your new Tcl_AppInit with the Tcl library.

     Tcl_AppInit is invoked after by Tcl_Main and  Tk_Main  after
     their  own  initialization and before entering the main loop
     to process commands.  Here are some examples of things  that
     Tcl_AppInit might do:

     [1]  Call initialization  procedures  for  various  packages
          used by the application.  Each initialization procedure
          adds new commands to interp for its  package  and  per-
          forms other package-specific initialization.

     [2]  Process command-line arguments, which can  be  accessed
          from the Tcl variables argv and argv0 in interp.

     [3]  Invoke a startup script to initialize the application.

     Tcl_AppInit returns TCL_OK  or  TCL_ERROR.   If  it  returns
     TCL_ERROR  then  it  must  leave an error message in interp-
     >result;  otherwise the result is ignored.

     In addition to Tcl_AppInit,  your  application  should  also
     contain a procedure main that calls Tcl_Main as follows:
          Tcl_Main(argc, argv, Tcl_AppInit);
     The third argument to Tcl_Main  gives  the  address  of  the
     application-specific  initialization  procedure  to  invoke.
     This means that you don't have to use the  name  Tcl_AppInit
     for the procedure, but in practice the name is nearly always
     Tcl_AppInit (in versions before Tcl 7.4 the name Tcl_AppInit
     was  implicit;   there  was  no way to specify the procedure
     explicitly).  The best way to get started is to make a  copy
     of  the  file  tclAppInit.c  from  the Tcl library or source
     directory.  It already contains a main procedure and a  tem-
     plate  for Tcl_AppInit that you can modify for your applica-
     tion.



KEYWORDS

     application, argument, command, initialization, interpreter