newLISP Fan Club

Forum => newLISP newS => Topic started by: santy on January 05, 2009, 06:32:43 AM

Title: Close NewLisp console window
Post by: santy on January 05, 2009, 06:32:43 AM
Hi all.



Now  I am testing my gui library. It works very  good but newlisp console window is always open.



How can I close this window?



Thanks.
Title:
Post by: newBert on January 05, 2009, 09:25:38 AM
Here is a solution: put these lines at the beginning of the script to hide the console window


(import "kernel32.dll" "FreeConsole")
(FreeConsole)


Or create a shortcut for the script with this in the target field :"C]<name_of_the_script>[/i].lsp"

(right click on the created shortcut and select properties, then modifiy the field "target")



P.S.: assuming that you are on Windows, of course



:-)
Title:
Post by: santy on January 06, 2009, 05:34:25 AM
Sorry, but this code do not work.

I do not use guiserver.

[/img]
Title:
Post by: newdep on January 06, 2009, 05:41:10 AM
on windows use ->


(import "kernel32.dll" "FreeConsole")
(FreeConsole)


or arnt you using window? or "what" version are you using?
Title:
Post by: santy on January 06, 2009, 07:16:43 AM
I am using windows XP SP3



it is given code:



(import "kernel32.dll" "FreeConsole")
(FreeConsole)

(load "sgui.lsp")

(define (menu_demo)
 
 (set 'iWindows (sgui:CreateWin 100 200 195 260 (address "Menu demo Window") ( | sgui:WF_SystemMenu sgui:WF_TitleBar sgui:WF_MinimizeWidget sgui:WF_MaximizeWidget sgui:WF_SizeWidget)))
 ;(println iWindows (number? iWindows))
 (if (not (null? iWindows))
   (begin
      (set 'mainMenu (sgui:CreateMainMenu iWindows))
      ;(println mainMenu (number? mainMenu))
      (if (not (null? mainMenu))
        (begin  
        (sgui:CreateMenuTitle "File")  
          (sgui:CreateMenuItem 1 "Open")
          (sgui:CreateMenuItem 2 "Save")
          (sgui:CreateMenuItem 3 "Close")
          (sgui:CreateMenuSeparator)
          (sgui:CreateMenuItem 6 "&Exit")
         (sgui:CreateMenuTitle "Edit")  
          (sgui:CreateMenuItem 118 "Undo")
          (sgui:CreateMenuItem 9 "Redo")
          (sgui:CreateMenuItem 10 "Find")
          (sgui:CreateMenuSeparator)
          (sgui:CreateMenuItem 12 "Find Files")
        )
       )
       (while (!= EventID sgui:WE_CloseWindow)
        (set 'EventID (sgui:StartWinEvent))
       )
    (sgui:CloseWin iWindows)
   )
 )
)

(menu_demo)
(exit)
Title:
Post by: newdep on January 06, 2009, 07:36:38 AM
yes the documentation mentions "providing the full path" when using import..

Please try that for the kernel32.dll ...
Title:
Post by: newBert on January 07, 2009, 08:53:29 AM
I think you should put
(import "kernel32.dll" "FreeConsole")
(FreeConsole)


in the first file, I mean in this case at he beginning of sgui.lsp



I used  to act in that way with runtk.lsp...



P.S.: By the way, does the file sgui.lsp have something to do with wxWidgets ?
Title:
Post by: xytroxon on January 07, 2009, 03:09:23 PM
Here are three hidden MSdos box launch programs...



From the GTK-server download page:

//http://www.gtk-server.org/download.html



Is a link to:

RUN - Run & Stop

//http://www.turtle.dds.nl/run/



Which has links to:

CMDOW - Commandline Window Utility [v1.4.3]

//http://www.commandline.co.uk/cmdow/



And:

CHP - Create Hidden Process

//http://www.commandline.co.uk/chp/



-- xytroxon
Title:
Post by: newBert on January 08, 2009, 03:40:18 AM
Xytroxon, thanks for CHP !

It works fine and easily in a batch file.



:-)
Title:
Post by: santy on January 08, 2009, 04:57:10 AM
to xytroxon



Program work good with CHP.exe.



Thanks.



to newBert

sgui is my little gui library. At this time I am writing wrapper for newLisp.



P.S. May be Lutz Mueller add new option in the newlisp program for gui application.
Title:
Post by: pjot on January 08, 2009, 05:49:25 AM
You can also compile your newLisp interpreter with the '-mwindows' compile option. Then there will be no DOS box.



So in 'makefile_mingw' add this to the CFLAGS line:



CFLAGS = -Wall -pedantic -Wno-long-long -c -O1 -g -DWIN_32 -mwindows



But it's a Win32 problem only, of course.



Regards
Title:
Post by: newBert on January 08, 2009, 06:36:03 AM
Quote from: "newBert"Xytroxon, thanks for CHP !

It works fine and easily in a batch file.



:-)


However it seems not to work (neither does CMDOW besides) with a GTK based newlisp script.

RUN.EXE (//http) must be the best solution in this case.
Title:
Post by: santy on January 11, 2009, 02:34:22 PM
Sorry but CHP.exe works bad.



I took source code newlisp (v 10.0.1) and modified it.

Code compiled in old IDE MinGW Developer Studio.





Code and program (without console window) are here

http://santysoft.narod.ru/programs/files_lisp/newlispw.7z



and sample program for build exe module from NewLisp code is here

http://santysoft.narod.ru/programs/files_lisp/nl_build_exe.7z



Thanks.