IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> запуск bat файла
Георгий
сообщение 28.01.2009 13:59
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 36
Пол: Мужской
Реальное имя: Георгий

Репутация: -  0  +


smile.gif пт volvo, думаю ты знаешь.
вобщем сделал пргу которая должна запускать bat-ник (он запускает паскаль, думаю ты помнишь), текст в батнике :

@echo off
TPC.exe -b start.pas > nul
del c:\tp7\bin\usesone.tpu
start.exe



текст запуска батника в делфи:


procedure TForm1.Button1Click(Sender: TObject);
var cmdline:string;
si: STARTUPINFO;
pi: PROCESS_INFORMATION;

begin
ZeroMemory(@si,sizeof(si));
si.cb:=SizeOf(si);
cmdline:='c:\tp7\bin\run2';
if not CreateProcess( nil,
PChar(cmdline),
nil,
nil,
False,
0,
nil,
nil,
si,
pi )
then
begin
Exit;
end;
WaitForSingleObject( pi.hProcess, INFINITE );
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
end;



bat файл он запускает но вылазит ошибка "TPC.exe" не является внешней командой и все, хотя когда открываешь bat файл просто в винде все работает smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 28.01.2009 15:48
Сообщение #2


Гость






procedure RunAndWait(command: string);
var
si: STARTUPINFO;
pi: PROCESS_INFORMATION;
begin
ZeroMemory(@si, sizeof(si));
si.cb := SizeOf(si);

if not CreateProcess(nil, PChar('"' + command + '"'), nil, nil,
False, CREATE_NO_WINDOW or NORMAL_PRIORITY_CLASS,
nil, PChar(ExtractFilePath(command)), si, pi)
then begin
ShowMessage('Error process creation'); Exit;
end;
WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
RunAndWait('F:\Test\run2.bat');
end;

Это работает, если в BAT-файле все правильно, и прописаны верные пути. У тебя там творится какой-то бардак, если нужна помощь - говори, что в какой папке находится, где usesone.pas, где usestwo.pas, где graph.tpu и так далее, все tpu-файлы. И где находятся сами файлы tpc.exe и run2.bat ...

Цитата
хотя когда открываешь bat файл просто в винде все работает
Это тебе кажется... Попробуй удалить usesone.tpu и запустить BAT, увидишь, как оно "работает"...
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 27.07.2025 7:59
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"