![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
кто знает: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 ?