Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.23;
Скачать: CL | DM;

Вниз

Как вызывать консольные приложения и закрывать по завершению?   Найти похожие ветки 

 
smu ©   (2003-12-10 09:12) [0]

Здравствуйте, тема вроде бы уже проскакивала, но найти не получилось. Как вызывать консольные приложения и закрывать по завершению?


 
smu ©   (2003-12-10 09:50) [1]

Проблема решена...

function RunAny(CommandLine: string; Str: TStrings): boolean;
var
I: byte;
S: string;
Flag: boolean;
tRead, cWrite, dwRead, dwAvail: cardinal;
SA: TSecurityAttributes;
PI: TProcessInformation;
SI: TStartupInfo;
begin
Result:=False;
SA.nLength:=SizeOf(SECURITY_ATTRIBUTES);
SA.bInheritHandle:=True;
SA.lpSecurityDescriptor:=nil;
if not CreatePipe(tRead, cWrite, @SA, 0) then Exit;
ZeroMemory(@SI, SizeOf(TStartupInfo));
SI.cb:=SizeOf(TStartupInfo);
SI.dwFlags:=STARTF_USESTDHANDLES or STARTF_USESHOWWINDOW;
SI.wShowWindow:=SW_HIDE;
SI.hStdOutput:=cWrite;
if CreateProcess(nil, PChar(CommandLine), nil, nil, True, 0, nil, nil, SI, PI) then begin
CloseHandle(PI.hProcess);
CloseHandle(PI.hThread);
Str.Clear();
Flag:=True;
while Flag do begin
for I:=0 to 9 do begin
PeekNamedPipe(tRead, nil, 0, nil, @dwAvail, nil);
if (dwAvail>0) then begin
Flag:=True;
Break;
end
else Flag:=False;
Sleep(100);
end; //for I:=
if dwAvail>0 then begin
SetLength(S, dwAvail);
ReadFile(tRead, PChar(S)^, Length(S), dwRead, Nil);
OemToChar(PChar(S), PChar(S));
Str.Add(S);
Application.ProcessMessages;
Result:=True;
end; // if dwAvail
end; // while Flag
end; // if CreateProcess
end;

http://www.delphikingdom.ru/treasury/std_memo.htm



Страницы: 1 вся ветка

Текущий архив: 2003.12.23;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.014 c
8-75272
DeadMeat
2003-08-24 23:40
2003.12.23
Звук1+Звук2=Звук2


4-75458
mio
2003-10-28 18:12
2003.12.23
Разделение


1-75192
Леша
2003-12-10 17:18
2003.12.23
Работа с ВОРД используя WordApplication(WordDocument)!


3-75106
Vemer
2003-11-28 18:19
2003.12.23
Подключение к IBase по сети.


1-75210
gs
2003-12-11 01:25
2003.12.23
Подскажите, кто знает, где Взять хороший DBGrid компонент