 
			
				05.09.2008, 19:33
			
			
			
		  
	 | 
	
		
		
		
			  | 
			
			
				
				
				 Начинающий 
				
				
			 | 
			  | 
			
				
				
					Регистрация: 14.04.2008 
					Адрес: с. Россия, г. Курган 
					
					Сообщения: 160
 
				Версия Delphi: 7 
					Репутация: 10 
					    
				 
				
			 | 
		 
		 
		
	 | 
	
	
	
		
			
			
				 
				Как запустить консольное приложение и перехватить вывод?
			 
			 
			
		
		
		
		Вот код (взял из dkrb):  
	Код: 
	procedure ExecCmdine(const CmdLine: string; CmdResult: TStrings);
var
Output: PIOFile;
Buffer: PChar;
TempString: string;
Line: string;
BytesRead: Integer;
const
BufferSize: Integer = 1000;
begin
Output := popen(PChar(CmdLine), 'D:\Проекты\©Сапунов Василий\Мега Калькулятор 23\Mega Calc v1\Console\Integer\IntegerPlus.exe');
GetMem(Buffer, BufferSize);
if Assigned(Output) then
try
   while feof(Output) = 0 do
   begin
     BytesRead := Libc.fread(Buffer, 1, BufferSize, Output);
     SetLength(TempString, Length(TempString)+BytesRead);
     memcpy(@TempString[length(TempString)-(BytesRead-1)], Buffer, BytesRead);
     while Pos(#10, TempString) > 0 do
     begin
       Line := Copy(TempString, 1, Pos(#10, TempString)-1);
       if CmdResult<>nil then CmdResult.Add(Line);
       TempString := copy(TempString, Pos(#10, TempString)+1, Length(TempString));
     end;
   end;
finally
   Libc.pclose(output);
   wait(nil);
   FreeMem(Buffer,BufferSize);
end;
end; 
 
Но вот тут какие-то ошибки:
  
Помогите...  
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 |