Exec (процедура) (модуль Dos) _________________________________ Выполняет заданную программу с заданной командной строкой.
Объявление: Procedure Exec(Path, CmdLine : String);
Режим: Real, Protected
Замечания: Ошибки сообщаются в переменной DosError. При компилировании программы, которая использует вызов Exec, уменьшите максимальный размер кучи, иначе, возможно, что для запускаемой программы не хватит памяти (DosError = 8).
Смотри также: DosError DosExitCode SwapVectors
SwapVectors (процедура) (модуль Dos) _______________________________________ Переключает указатели SaveIntXX в модуле System на текущие вектора.
Объявление: Procedure SwapVectors;
Режим: Real, Protected
Замечания: Меняет содержимое указателей SaveIntXX в модуле System на текущее содержимое векторов прерываний. SwapVectors обычно вызывается перед и после обращения к Exec. Это гарантирует, что вызываемый процесс не будет использовать никаких подпрограмм обработки прерываний, установленных текущим процессом и наоборот.
И еще, в том же хелпе к пасу: { Пример программы для DosExitCode и Exec }
{$M $4000, 0, 0 } { 16Kб стек, нет кучи } Uses Dos;
Var ProgramName, CmdLine : String; Begin Write('Имя программы для запуска (с путем) : '); ReadLn(ProgramName); Write('Параметры командной строки ', ProgramName, ' : '); ReadLn(CmdLine); WriteLn('Пробую запустить...'); SwapVectors; Exec(ProgramName, CmdLine); SwapVectors; WriteLn('... вернулся из Exec'); { Была ошибка ? } If DosError<>0 Then WriteLn('Ошибка DOS #', DosError) Else WriteLn('Запуск был удачным. Код выхода = ', DosExitCode); End.
--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно. -------------------- Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
|