Comments on: Don't forget CALL/show... like I did.
While working on a few apps in 2.7, I noticed that call seemed to not work at times. For example, if I evaluated this line (on XP):
nothing would happen, but:
did what I expected: it opened the explorer window.
The same problem happened when installing a new AltME built using 2.7.8 (in development). The splash window would appear, but the main window would not not. However, the process was running; it just had no windows open. Of course, such things make the installation process quite unfriendly.
If you're seeing a number of rebol.exe processes in your task manager list, but no REBOL windows, you may be having a similar problem. That is, when using call you didn't provide a /show refinement.
This result was not intentional. It was meant to keep the shell window from popping up when you opened the explorer, but obviously the CreateProcess() wShowWindow option applies to the shell's children as well.
I've begun to wonder if we got the default backwards. Perhaps the default should be to show, and we provide a /hide refinement to hide the window.
This can be changed in 2.7.8. Let me know your thoughts.
It sounds reasonable to switch to showing as the default. Before 2.7.6, that was the way call worked, and it seems to be what people want to do most of the time. A call/hide option sounds like a good idea.
Between this and many other fixes scheduled for 2.7.8, it is really looking like it will be the first in the 2.7.x series that I wouldn't mark as "experimental". R2 2.7.8 is really starting to shape up into a good product.
call/hide -- I'd be happy with that.|
+1 for call/hide|
Me too - change it. But its not something I use often. |
Agree on call/hide|
I am for the call/hide option as well. |
I'm for call/hide too, but eliminating call/show will break existing code. If call's default behavior is changed to call/show, the call/show option should be included for backwards compatibility.|
The behavior seems to be different in Vista and w7. XP likes call/show. Vista and W7 open windows with either call or call/show|
Patward, that is a bug that should be fixed. Thanks for mentioning it.|
BTW, I experience an issue where CALL doesn't produce a window, even with /SHOW, and the REBOL process that hangs in the background is eating 100% CPU.
Carl, you don't mention this, so maybe there are two bugs?
What I've found is that the process works ok, if you probe something before the call, so there is console output, but not after.
Henrik, I've had that exact bug in older versions of REBOL too, using the -CGI options on launch and the cgi option in SDK header.
This was done so the I/O was redirected to/from other applications (with limited success).
My only gripe with it going back is that I complained about the change when it happened, and I have since patched (I think) all my production code. I'll either patch again or not deploy 2.7.8.
From a design standpoint, the default should allow it to work properly, meaning it should show the console. If you know that it will work for you without showing the console, and you want a cleaner appearance, you can use /HIDE.
Post a Comment:
You can post a comment here. Keep it on-topic.