Programas em DOS no Windows XP com Delphi 6
Tenho um programa em DOS que rodava bem no WIn95/98. No WinXP tive que criar um atalho e configur o antigo ´Autoexec.bat e Config.sys´ pois o XP exige isso. Até aí tudo bem, aciono o atalho via Windows e a rotina funciona, mas o problema tá que eu utilizo um sistema em Delphi 6 que chama essa rotina em DOS, e funcionava no Win 98, agora, mesmo chamando o atalho não dá mensagem nenhuma mas tambem não funciona, pois verifico que os arquivos não estão sendo atualizado pela rotina em DOS. Como seria a forma correta de executar essa rotina em DOS dentro de uma em Delphi, no WIN XP?
Cps.art
Curtidas 0
Respostas
Edilcimar
05/04/2005
o xp não utiliza o autoexec.bat e o config.sys e sim o autoexec.nt e o config.nt que estão em windows\system32
GOSTEI 0
Cps.art
05/04/2005
Edilcimar, eu sei disso, tanto que criei um atalho para meu programa executável em DOS, e nesse atalho, como instrui a ajuda do Win XP, em [b:8083cc81e5]Programas, Avançado, [/b:8083cc81e5] informei a rota do ´meu autoexec.bat e do meu config.sys´ e como eu disse acima, o programa executa normalmente a [b:8083cc81e5]partir do Windows[/b:8083cc81e5]. Isso prova que os setamentos que fiz no atalho estão corretos, o problema é que eu tento executa-lo de um sistema em Delphi, e aí é que, apesar de não aparecer nenhuma mensagem de erro, nem do Delphi nem do Windows, nada acontece, ou seja, o programa em DOS não é executado. Cheguei a conclusão que o problema está na forma de tentar executar a partir do Delphi.
GOSTEI 0
Edilcimar
05/04/2005
se você fizer uma chamada DOS dentro do delphi, automaticamente estará chamando o autoexec.nt e o config.nt, não importa para onde você direciione, a não ser que direcione no autoexec.nt para o autoexec.bat e no config.nt para o config.sys
GOSTEI 0
Cps.art
05/04/2005
Obrigado Edilcimar.
Se for criado um atalho tipo PIF (tem que ser o mesmo nome do executável) do executável em DOS, nas propriedades desse atalho dá para substituir o direcinamento do Autoexec.NT e Config.NT para outros que podemos criar. Por exemplo: Eu criei um Autoexec.bat e um Config.sys, configurei neles o setamento que me é necessário para rodar um programa Clipper e coloquei eles numa pasta chamada CONFIGDOS que eu criei. Nas propriedades do atalho, na orelha [b:2d1001d11b]Programa[/b:2d1001d11b] em em [b:2d1001d11b]Avançado[/b:2d1001d11b], indiquei o caminho e nome dos arquivos que criei. Quando é executado o programa DOS o Windows vai pegar os setamentos do meu AUTOEXEC.BAT e do meu CONFIG.SYS. Quando eu dou um clique no meu executável, tudo funciona certinho, o problema está em [b:2d1001d11b]executar esse programa DOS de dentro de uma rotina (.EXE) do Delphi.[/b:2d1001d11b], com o comando ShellExecute ou WinExe. Aí ele não funciona, apesar de não dar nenhuma mensagem de erro, nem do Delphi nem do Windows. Aí é que tá o problema, chamar a partir do Delphi !!!!!
Se for criado um atalho tipo PIF (tem que ser o mesmo nome do executável) do executável em DOS, nas propriedades desse atalho dá para substituir o direcinamento do Autoexec.NT e Config.NT para outros que podemos criar. Por exemplo: Eu criei um Autoexec.bat e um Config.sys, configurei neles o setamento que me é necessário para rodar um programa Clipper e coloquei eles numa pasta chamada CONFIGDOS que eu criei. Nas propriedades do atalho, na orelha [b:2d1001d11b]Programa[/b:2d1001d11b] em em [b:2d1001d11b]Avançado[/b:2d1001d11b], indiquei o caminho e nome dos arquivos que criei. Quando é executado o programa DOS o Windows vai pegar os setamentos do meu AUTOEXEC.BAT e do meu CONFIG.SYS. Quando eu dou um clique no meu executável, tudo funciona certinho, o problema está em [b:2d1001d11b]executar esse programa DOS de dentro de uma rotina (.EXE) do Delphi.[/b:2d1001d11b], com o comando ShellExecute ou WinExe. Aí ele não funciona, apesar de não dar nenhuma mensagem de erro, nem do Delphi nem do Windows. Aí é que tá o problema, chamar a partir do Delphi !!!!!
GOSTEI 0