Ver Mensaje Individual
  #15  
Antiguo 27-03-2007
erika.martinez erika.martinez is offline
Miembro
 
Registrado: may 2003
Ubicación: Buenos Aires - Argentina
Posts: 18
Reputación: 0
erika.martinez Va por buen camino
Haciendo esto que decís:

Código Delphi [-]
GetEnvironmentVariable('COMSPEC', @Buffer, SizeOf(Buffer) - 1);
    StrCat(@Buffer,PChar(' /c ' + FileName)); {donde FileName = 'C:\Vienna\RnaFold.exe'}
    if CreateProcess(nil, @Buffer, nil, nil, TRUE, CREATE_NEW_CONSOLE, nil, nil, si, pi) then

       repeat
        PeekNamedPipe(read_stdout, @Buffer, SizeOf(Buffer) - 1, @bread, @avail, nil);
        if bread > 0 then
        begin
          Fillchar(Buffer, SizeOf(Buffer), 0);
          ReadFile(read_stdout, Buffer, bread, bread, nil);
          Rdo:= Rdo + String(PChar(@Buffer));
        end;
        GetExitCodeProcess(pi.hProcess, exitcod);
      until (exitcod <> STILL_ACTIVE) and (bread = 0);

Cuando entro al repeat, la variable bread = 0 por lo que el programa no lee nada.
Responder Con Cita