On 6/11/2008 10:23:33 PM, Ian Binnie wrote:
>On 6/11/2008 7:23:47 PM, Peter Rejto
>wrote:
>>Ian,
>>
>>Let me back track. Thanks to
>>your suggestion in this
>>thread,
>>read?33453,49, I did find a
>>work around for the Vedit
>>Windows XP 64 issue.
>>
>>
>>Specifically I have replaced
>>the command
>>
>>System("command",DOS+DELETE)
>>
>>by the command
>>
>>System(`cmd %comspec% /c
>>"command"`).
>
>Firstly, the above contains an
>unnecessary shell call.
>I think Christian pointed this out
>earlier. My example was for use in the
>Run menu, vedit System already creates a
>shell.
>All you need is System(`cmd /c
>"command"`) OR System(`%comspec% /c
>"command"`)
>These are equivalent.
>
>The significant thing about these is
>that they create a new shell which
>allows you to control the environment
>(and redirection etc).
>
>If you want to see what is actually
>happening, replace the /c by /k, and the
>shell will not close on completion - you
>will need to explicitly close. This can
>be handy for debugging.
>
>
>Secondly, a System("command",DOS) causes
>windows to execute ntvdm.exe, which
>tries to emulate a real mode DOS
>environment.
>I found the following (on Wiki) "Windows
>XP Professional x64 Edition (x86-64) ...
>no longer include the NTVDM so are
>unable to run 16-bit DOS or Windows
>applications."
>
>Unless you are trying to run a really
>ancient program, there is no reason to
>use System(... ,DOS).
>You are out of luck on xp64 anyway.
>(I have one pre 1988 database
>application which needs ntvdm.exe)
>
>
>Let me know if I can help.
>
>>This worked for me, at leas
>>for some examples of the
>>"command" . To be on the safe
>>side, I am copying the
>>description of this command
>>in the Vedit on line help.
>>------------------------------
>>---
>>System("command",DOS+DELETE)
>>
>>Windows: The file
>>MSDOS95C.PIF, MSDOSNTC.PIF or
>>MSDOS31C.PIF is used to start
>>up a DOS box and run the
>>specified command or program.
>>This box runs in a normal
>>window which auto-closes when
>>it is done.
>>
>>VEDIT 6.15 Help
Ian,
Once again a big thank you for this information.
The System("command",DOS)
issue came up again. This time it was a Microsoft Update on my office computer. I discovered that my old LATEX.VCS file had such a command. So, when I tried to launch my latex compiler from Vedit, I got the error message:
CAN NOT SHELL OUT, ERROR 5.
My systems person told me that this Microsoft Update, eliminated 16 bit API programs. So, your explanation was great.
Then I found out that Christian and Fritz have also updated LATEX.VCS. Needless to say, the updated file works like a charm.
Incidentally, is there a direct way of finding out that
MSDOS95C.PIF makes a 16 bit function call ?
-peter
|
|