//tkmain.cpp

#include <tk.h>

extern "C" int Tcl_AppInit (Tcl_Interp *interp);
//
//  Dies ist die neue C-Prozedur, wobei die Anzahl und Art der Übergabeparameter 
//  von Tcl/Tk vorgegeben ist.
//
int MainTclCmd (ClientData cData, Tcl_Interp *interp, int argc, char *argv[]);


int main (int argc, char *argv[]) {
 Tk_Main (argc, argv, Tcl_AppInit);
 return 0;
}

extern "C" int Tcl_AppInit (Tcl_Interp *interp) {
  if (Tcl_Init (interp) == TCL_ERROR) return TCL_ERROR;
  if (Tk_Init (interp) == TCL_ERROR) return TCL_ERROR;

//
// Das neue C-Programm "MeineCProzedur" wird dem Interpreter
// unter dem Namen "MeinTclAnweisungsName" bekannt gemacht
//
  Tcl_CreateCommand (interp, "action", MainTclCmd,
                   (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);

//
// Das Haupt-TCL-Skript wird initialisiert
//
  Tcl_SetVar (interp, "tcl_rcFileName", "./Main.tcl", TCL_GLOBAL_ONLY);
 return TCL_OK;
}
