Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

В обычном приложении работает, а в консольном нет ... [D6, Win95/98]


MikeFW ©   (2003-01-24 14:28:00) 

Проблема такова - есть функция, которая запускает архиватор и ждет его завершение. Она работает.
Я перенес данную функцию в консольное приложение и архив стал выдавать ошибку. Точнее скорее всего он просто не успевает отработать. Как быть подскажите, пожалуйста?

Вот текст обычной функции
в консоли я удаляю из нее только две строчки (GetMACForm.WindowState:=wsMinimized; и
GetMACForm.WindowState:=wsNormal;)

procedure TGetMACForm.Button1Click(Sender: TObject);
var
si: TStartupInfo;
p: TProcessInformation;
begin
FillChar(Si,SizeOf(Si),0);
with Si do begin
cb := SizeOf( Si);
dwFlags := startf_UseShowWindow;
wShowWindow := 4;
end;
GetMACForm.WindowState:=wsMinimized;

CreateProcess(nil,PChar("D:\Pkzip25.exe -add -dir save1.zip *.11"),nil,nil,false,
Create_default_error_mode,nil,nil,si,p);
//CreateProcess(nil,PChar("D:\MacZip\rar32.exe a -r "+Mac.Text+" d:\MacZip\*.wav"),nil,nil,false,
// Create_default_error_mode,nil,nil,si,p);
Waitforsingleobject(p.hProcess,infinite);
GetMACForm.WindowState:=wsNormal;
end;


han_malign   (2003-01-24 14:46:00) [1]

так же только без окон...

Program QQQ;
{$APPTYPE CONCOLE}
uses Windows;
var
si: TStartupInfo;
p: TProcessInformation;
begin
FillChar(Si,SizeOf(Si),0);
with Si do begin
cb := SizeOf( Si);
dwFlags := startf_UseShowWindow;
wShowWindow := 4;
end;
Writeln("Start pkzip")
CreateProcess(nil,PChar("D:\Pkzip25.exe -add -dir save1.zip *.11"),nil,nil,false,
Create_default_error_mode,nil,nil,si,p);
Waitforsingleobject(p.hProcess,infinite);
Writeln("Complete pkzip")
end;


Reindeer Moss Eater   (2003-01-24 14:46:00) [2]

Показать нам текст своего консольного приложения


MikeFW   (2003-01-24 14:39:00) [3]

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


han_malign   (2003-01-24 14:33:00) [4]

Что значит в консольном?
если {$APPTYPE CONCOLE} - то там принципиально никакие формы и окна работать не будут...


Наверх

Титульная страница Поиск, карта сайта Написать письмо