[emptist], '''2005/11/19''': strange thing: sdx refuses to move After testing out how to use tclkit and sdx to built a single exe, I decided to create a dir for these three files: tclkit.exe sdx.kit tclkitsh.exe, to find tclkitsh sdx.kit runs into a: invalid command name "sdx" while the original copy of these files in another dir still works. ---- [MHo], '''2005/11/11''': trying to do a tclkitsh sdx.kit from within a directory which includes spaces in its name, fails: D:\Dokumente und Einstellungen\hoffmann\Eigene Dateien\Downloads>tclkitsh sdx.kit version wrong # args: should be "source file" while executing "source sdx.kit/main.tcl" ("uplevel" body line 1) invoked from within "uplevel [list source [file join $self main.tcl]]" ---- Quoting hell strikes again. The problem is that the sdx script (sdx.kit/lib/app-sdx/sdx.tcl) runs uplevel #0 source [file join $b $a.tcl] and $b is the current directory, which can contain spaces. The simple fix is to change this to uplevel #0 [list source [file join $b $a.tcl]] and all should be well. ''Thanks, should be fixed now. -[jcw]'' ---- December 20, 2002 If you use Windows \ notation for a filename, SDX fails. If you try to add registered methods to the .KIT filetype (wrap, unwrap etc) then when you right-click on the filename and choose the method, SDX fails. This appears to be fixed for the *first* filename but not for the second. That is, tclkitsh can find sdx.kit, but tclkitsh with SDX can't find your file. It creates an empty correctly-named .vfs folder and aborts. When I massaged the filename the problem went away: file unwrap.tcl set aa [lindex $argv 0] set aa [string map {\\ /} $aa] exec tclkitsh.exe sdx.kit unwrap $aa I registered this as "tclkitsh unwrap.tcl %1" and it worked for me on Windows XP and Windows 98. It might be possible to fix this inside SDX assuming that you'll never need a unix backslash character in a filename. I'm not sure that's a good idea. Jonah Thomas ---- ZipGuy 06-06-2003 - I have created a Starkit to solve this problem on Windows. It's called [Windows SDX Shell Fix] and it front-ends sdx.kit. ---- [LV] 2007 July 11 Here's what I see as I am attempting to survive my first dealings with [starkit]s under [Windows] (shudder). No questions yet ... just wanted other first timers to see what to expect. Hopefully the experts will wander by and add useful tips for us here. I have a tclkit.exe, a starkit (tls.kit), and sdx.kit. I open a cmd.exe window and I type: sdx.kit lsk tls.kit Initially, I get a dialog from windows saying it doesn't know how to deal with a .kit file. I point it to the tclkit.exe. I then type the command again. This time, I get a tkcon console, as well as a widget that is titled "sdx" with a label of "Command line:". I type "help", and the sdx help output appears in the console. But the command line dialog is gone. Okay, that's how things work on Unix... So, I quit the tkcon, and type the command again. I see that the arguments are doing me no good in cmd.exe, so I type just the arguments into the sdx command line window. That seems to work. ---- AsifH 26-07-2007 I got the latest http://www.equi4.com/pub/tk/8.5a6/tclkitsh-win32.upx.exe (WinXP) and http://www.equi4.com/pub/sk/sdx.kit I created a simple '''helloWorld.tcl''' file containing: puts "Hello World!" I generated a '''helloWorld.kit''' by executing: tclkitsh-win32.upx.exe sdx.kit qwrap helloWorld.tcl I built the vfs directory '''helloWorld.vfs''': tclkitsh-win32.upx.exe sdx.kit unwrap helloWorld.kit I built '''helloWorld.exe''' by executing: tclkitsh-win32.upx.exe sdx.kit wrap helloWorld.exe -runtime tclkitsh-win32.upx.exe When I execute '''helloWorld.exe''', I get: ./helloWorld.exe: ./helloWorld.exe: cannot execute binary file So I: cp tclkitsh-win32.upx.exe tclkitsh-win32-runtime.upx.exe then I build '''helloWorld.exe''' once again: tclkitsh-win32.upx.exe sdx.kit wrap helloWorld.exe -runtime tclkitsh-win32-runtime.upx.exe Now I execute '''helloWorld.exe''' and I get the expected result: Hello World! Why do I need to copy '''tclkitsh-win32.upx.exe''' to a different filename (for example) '''tclkitsh-win32-runtime.upx.exe''' in order for this to work? [Category Tclkit]