ActiveState Community

Creating a simple command-line (no Tk) TkDevKit app.

Posted by dsarkisian on 2007-02-18 15:25
OS: Windows

Sorry for such a simple question, but I have a single-file Tcl app that I'd like to wrap up as a Windows .exe, self-contained, etc. But the examples I've seen on the site, etc. aren't giving me quite what I'm looking for.

I'm not using any Tk (that I know of), only using tdom, but if I use the TclDevKit to wrap my application, it appears to be generating an executable that launches my Tcl app using wish (at least, I see a wish console window appear), regardless of the -prefix base I provide. I really want the semantic equiv. of

tclsh myapp.tcl

which never launches a wish shell,

and not

wish myapp.tcl

which does leave a wish window hanging around.

I feel like I must be missing something very basic here...using ActiveState Tcl 8.4.14, and TclDevKit 3.2.

Don't mind a RTFM answer, but everything I've seen thus far assumes Tcl/Tk, etc.

Thanks.

KeithSchneider | Mon, 2007-02-19 12:25

Interesting... I'm used to doing this with a GUI so haveno experience with this. However, you could add to the very beginning of your tcl script a "withdraw ." statement and that will withdraw the window and you can then proceed as though TK is not present. But I would think that you should be able to get to more specifically what you're asking for. Perhaps you need to have a base kit that is not TK based. Actually, I see there is a base_tcl_thread_ix86.exe base kit. Maybe you are also including some kind of TK packages directly or indirectly.

kevinw | Wed, 2007-02-28 16:56

Hi folks,

The best solution to this is to go under the "Wrapping" tab in TclApp and select a non-Tk basekit. The file:

C:\Tcl\bin\base-tcl-thread-win32-ix86.exe

Is one such basekit. This should also make the compiled executable smaller as it won't include Tk specifics.

Cheers,

kjw