Preciso executar o comando “tracert” no prompt e carregar a saída deste comando para dentro do meu programa em Delphi, mas quero que vá carregando conforme o comando é executado, linha a linha como acontece no prompt.
Estou fazendo assim:
//Executa o tracert e salva a saída no arquivo resultado.txt
Isso gera um erro pois o .txt ainda está em uso. Para ler preciso esperar o comando terminar de executar (o tracert pode levar vários segundos) para poder carregar o .txt.
Usando AssignFile para tentar ler o arquivo retorna o erro de I/O 32(mesmo com FileMode em ReadOnly). Com o CreateProcess o problema se repete.
Ou seja, só consigo carregar o arquivo depois que o comando termina, não consigo mostrar o andamento em tempo real para o usuário.
Há alguma maneira de ler um .txt que já está em uso por outro processo ou uma maneira de executar o comando e capturar em tempo real a saída?
Pergunta
MaxRS
Olá amigos;
Preciso executar o comando “tracert” no prompt e carregar a saída deste comando para dentro do meu programa em Delphi, mas quero que vá carregando conforme o comando é executado, linha a linha como acontece no prompt.
Estou fazendo assim:
Isso gera um erro pois o .txt ainda está em uso. Para ler preciso esperar o comando terminar de executar (o tracert pode levar vários segundos) para poder carregar o .txt.
Usando AssignFile para tentar ler o arquivo retorna o erro de I/O 32(mesmo com FileMode em ReadOnly). Com o CreateProcess o problema se repete.
Ou seja, só consigo carregar o arquivo depois que o comando termina, não consigo mostrar o andamento em tempo real para o usuário.
Há alguma maneira de ler um .txt que já está em uso por outro processo ou uma maneira de executar o comando e capturar em tempo real a saída?
Desde já agradeço pela atenção.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.