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

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

кто знает:bat-ик из доса запускает программу, а из программы нет


Алекс ©   (2004-06-06 16:12:00) 

Такая хрень в общем:

есть bat файл в котором одна строка:
CALL $eclipse -file krap_base_fdp_500_optGA -ver 2002a
(это типа программа Eclipse вызывает файл: krap_base_fdp_500_optGA)

Причем этот bat-ник из доса запускается и программа идет.

А вот в Delphi программе этот же bat-ник запускается, но Eclipse почему то "не видит" файл. Это конечно косяк Eclips'а но КАКОЙ - я понять не могу - КТО ЗНАЕТ КАК МОЖНО РЕШИТЬ ЭТУ ПРОБЛЕМУ?


Алекс   (2004-06-06 16:23:00) [1]

все понял, действительно была ошибка в корневой директории


Алекс   (2004-06-06 16:19:00) [2]

Фишка то в том, что она-то запускает сам файл bat.
А вот Eclipse не видит файл.
Причем если тот же самый bat запустить в досе Eclipse видит файл.
То есть непонятная взаимосвязь между файлом и Delphi какая-то


Алекс   (2004-06-06 16:18:00) [3]

procedure executeEcl(fileECL:string);
var
si:STARTUPINFO;
pi:PROCESS_INFORMATION;
cmdline:string;begin
ZeroMemory(@si,sizeof(si));
si.cb:=SizeOf(si);
cmdline:=data_path+fileEcl;
if not CreateProcess( nil, // No module name (use command line).
PChar(cmdline),  // Command line.
nil,             // Process handle not inheritable.
nil,             // Thread handle not inheritable.
False,           // Set handle inheritance to FALSE.
0,               // No creation flags.
nil,             // Use parent's environment block.
nil,             // Use parent's starting directory.
si,              // Pointer to STARTUPINFO structure.
pi )             // Pointer to PROCESS_INFORMATION structure.
then
begin
ShowMessage( 'CreateProcess failed.' );
Exit;
end;
WaitForSingleObject( pi.hProcess, INFINITE );
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
end;


VMcL   (2004-06-06 16:16:00) [4]

>>Алекс  (06.06.04 16:12)

Код запуска в студию. Скорее всего текущий каталог не устанавливаешь.


GuAV   (2004-06-06 16:14:00) [5]

SetCurrentDir ?


Наверх

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