[ltk-user] Windows problem again

Charlie Burrows charlie.burrows at gmail.com
Thu Mar 15 19:15:20 UTC 2007


On 3/15/07, Hitman <_Hitman_ at centrum.cz> wrote:
> Nice instructions Charlie (and easy). I do it in line with your
> instructions and manual pages too, but the window hanging and my LTK
> isn't workable. :(

I think I also had the same problem under windows. I did solve it but
I forget how...
I did find a vb script that I wrote to install my application. I have
appended it to this email. I think that the breakthrough is at the end
of the script when it creates a shortcut and sets the clisp window to
invsible (oLink.WindowStyle = "0"). I think it was this that finally
solved the hanging at startup issue that was very annoying.
I was looking at my sources and I see that I also don't use the
default *tk* window (withdraw ltk::*tk*) that gets automatically
opened but I create my own toplevel, that may have some impact.
If nether of these thinks work I found that giving the main window an
event, normally by mouse, while it is initializing will stop it from
hanging. Be quick :)
I hope at least one of these things works for you. I last used this
app with a much older version of ltk so ymmv. Good luck
Charlie


---------- make_asdf_repository.vbs -------------------
Const USER_PROFILE = &H28&

Set oWS = WScript.CreateObject("WScript.Shell")
Set FSO = WScript.CreateObject("Scripting.FileSystemObject")

cd = oWS.CurrentDirectory
home = CreateObject("Shell.Application").Namespace(USER_PROFILE).Self.Path

' Delete/re-create the existing asdfs folder
IF NOT FSO.FolderExists(cd + "\asdfs") THEN FSO.CreateFolder(cd + "\asdfs")

' Create shortcuts from all the .asd files to the asdf directory
Set oLink = oWS.CreateShortcut(cd + "\asdfs\ltk.asd.lnk")
oLink.TargetPath = cd + "\ltk\ltk.asd"
oLink.WorkingDirectory = cd + "\ltk"
oLink.Save

Set oLink = oWS.CreateShortcut(cd + "\asdfs\ltk-bwidgets.asd.lnk")
oLink.TargetPath = cd + "\ltk-bwidgets\ltk-bwidgets.asd"
oLink.WorkingDirectory = cd + "\ltk-bwidgets"
oLink.Save

Set oLink = oWS.CreateShortcut(cd + "\asdfs\ltk-taskman.asd.lnk")
oLink.TargetPath = cd + "\ltk-taskman\ltk-taskman.asd"
oLink.WorkingDirectory = cd + "\ltk-taskman"
oLink.Save

' Create the .clisprc.lisp and .taskman files in user's home
Set initFile = FSO.CreateTextFile(home + "\.clisprc")
initFile.WriteLine("(load """ + replace(cd, "\", "/") + "/asdf.lisp"" )")
initFile.WriteLine("(push """ + replace(cd, "\", "/") + _
                "/asdfs/"" asdf:*central-registry*)")
initFile.Close()

Set initFile = FSO.CreateTextFile(home + "\.taskman")
initFile.WriteLine("((icon-path . """  + replace(cd, "\", "/") + _
                "/ltk-taskman/""))")
initFile.Close()


' Finally Create the shortcut to the taskman
Set oLink = oWS.CreateShortcut(cd + "\Taskman.lnk")
oLink.TargetPath = cd + "\clisp-2.38\clisp.exe"
oLink.Arguments = " -i " + cd + "\run-taskman.lisp"
oLink.WorkingDirectory =  cd + "\clisp-2.38"
oLink.WindowStyle = "0"
oLink.Save



More information about the ltk-user mailing list