tk4.2 C API - Tk_Main






NAME

     Tk_Main - main program for Tk-based applications


SYNOPSIS

     #include <tk.h>

     Tk_Main(argc, argv, appInitProc)


ARGUMENTS

     int               argc           (in)      Number  of   ele-
                                                ments in argv.

     char              *argv[]        (in)      Array of  strings
                                                containing
                                                command-line
                                                arguments.

     Tcl_AppInitProc   *appInitProc   (in)      Address   of   an
                                                application-
                                                specific initial-
                                                ization      pro-
                                                cedure.       The
                                                value   for  this
                                                argument is  usu-
                                                ally Tcl_AppInit.





DESCRIPTION

     Tk_Main acts as the main program for most Tk-based  applica-
     tions.   Starting  with Tk 4.0 it is not called main anymore
     because it is part of the Tk library and having  a  function
     main  in  a  library  (particularly a shared library) causes
     problems on many systems.  Having main  in  the  Tk  library
     would also make it hard to use Tk in C++ programs, since C++
     programs must have special C++ main functions.

     Normally each application contains  a  small  main  function
     that does nothing but invoke Tk_Main.  Tk_Main then does all
     the work of creating and running a wish-like application.

     When it is has finished its own initialization,  but  before
     it  processes commands, Tk_Main calls the procedure given by
     the  appInitProc  argument.   This  procedure   provides   a
     ``hook''  for the application to perform its own initializa-
     tion, such as defining application-specific  commands.   The
     procedure  must  have  an  interface  that  matches the type
     Tcl_AppInitProc:
          typedef int Tcl_AppInitProc(Tcl_Interp *interp);
     AppInitProc is almost always a pointer to  Tcl_AppInit;  for
     more  details  on  this procedure, see the documentation for
     Tcl_AppInit.



KEYWORDS

     application-specific initialization, command-line arguments,
     main program