Форум: "Основная";
Текущий архив: 2005.01.09;
Скачать: [xml.tar.bz2];
ВнизПеренапрвление потоков Найти похожие ветки
← →
Lelik (2004-12-23 07:52) [0]Всем привет есть такой кусок начала функции:
function TMainForm.Raschet(infile:string):boolean ;
var
f:TextFile;
j:integer;
si:_STARTUPINFOA;
pi:_PROCESS_INFORMATION;
info : TOSVersionInfo;
ClassName : string;
Title : string;
begin
AssignFile(f,"in");
Rewrite(f);
WriteLn(f,trim(infile)+".dat");
WriteLn(f,"n");WriteLn(f,"n");WriteLn(f,"1");WriteLn(f,"1");WriteLn(f,"2");WriteLn(f,"3");WriteLn(f,"4");WriteLn(f,"5");
CloseFile(f);
GetDir(0,s);
if not CreateProcess(nil,"trakt < in > out",nil,nil,false,0,nil,nil,si,pi) then
begin
Exception.Create("Ошибка при запуске");
end else begin
Трабла: как сделать так, чтобы trakt (досовская прога) смог просматривать файл in как если бы мы сделали это в командной строке например far’a?
← →
Dolt © (2004-12-23 09:18) [1]1) Создать пайп
with SecAttr do
begin
nlength := SizeOf(TSecurityAttributes);
binherithandle := true;
lpsecuritydescriptor := nil;
end;
if Createpipe (hReadPipe, hWritePipe, @SecAttr, 0) then
.....
2) Заполнить TStartUpInfo
FillChar(StartupInfo, Sizeof(StartupInfo), #0);
StartupInfo.cb := SizeOf(StartupInfo);
StartupInfo.hStdOutput := hWritePipe;
StartupInfo.hStdInput := hReadPipe;
StartupInfo.dwFlags := STARTF_USESTDHANDLES +
STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow := SW_HIDE;
3) Запустить процесс
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.01.09;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.038 c