AltME: SDK

Messages

Maxim
but I actually found a better solution.
using cheyenne's Call  and  add  "Cmd /C" to the head of the command (without using  /show)
you must simply remove the  ^M  chars , but at least there are no command prompts popping up.
^M  chars from the piped output
Endo
That's a good solution.
Maxim
rebol turns app dev times upside down.   2 hours to build an app   2 days to figure out how to launch a command line without crashing the app  ;-)
Gregg
The problem with /show, for me, is that it was added in such a way that it broke compatibility with the old version of CALL. Doc's stuff is a great replacement.

Gabriele
Max, the bug with /output in encap used to be that it would fail (i think it would actually crash) if you did not have the REBOL console open. Maybe something similar happens on the newer versions as well?
eg. try a print "something" before the call/output and see if that makes it work.
ddharing
We have had similar problems with Windows 7 and Windows Server 2008R2. I thought it was a new security "feature". Starting the app from a command shell works fine. Setting compatibility options and "run as administrator" doesn't help.
Maxim
Gab, It crashes (freezes) with the console open.  currently, it really requires /show if using the R2 CALL func.
otherwise pre-pending   "CMD /C"    to the command while using cheyenne's win-call also works, but has the advantage of not showing a dos prompt at each execution.

GrahamC
this works from  2.7.8.3.1   get-env "%userprofile%"  but in my SdK I get none.
Ideas
GrahamC
ah.. works without the %
so small difference between the sdk and core
Endo
Here is working example on Win7:
stdout: make string! 255
call/wait/output rejoin [to-local-file system/options/path %\extract.exe " mypassword"] stdout
I remember that CALL supports rebol style file names, but it sometimes fail to run the app. So to put TO-LOCAL-FILE is good.
But in this example extract.exe is a Win32 application that outputs to stdout, not a real DOS app. This might be a difference.
Edgar
Max,
Edgar
try this; outfile, infile, errfile are filepath
cmd: "someexeprog.exe < to-local-file to-file infile > to-local-file to-file outfile 2> to-local-file to-file errfile"
call/wait cmd
If you don't want any filepath, replace them with NUL
Edgar
;correction
outfile: to-local-file to-file "outfile.txt" infile: to-local-file to-file "infile.txt" errfile: to-local-file to-file "errfile.txt"
cmd: rejoin [{someexeprog.exe < } infile { > } outfile { 2> } errfile]
call/wait cmd
Maxim
unfortunately, I can't use temp files (though your suggestion does work, I had looked at doing this too  ;-)
but as I said above, using cheyenne's win-call and pre-pending "CMD /C"  (which is what /shell basically does) works out great.

Last message posted 6 weeks ago.