exec

(procedimiento)
Lenguaje: Pascal   (Versión: Turbo Pascal)

Ejecuta un programa

Declaración: procedure Exec(Path, CmdLine: string);

Detalles:
Ejecuta un cierto programa externo, con una cierta línea de comandos.

Se deberá ejecutar "SwapVectors" antes y después. Conviene limitar la cantidad de memoria para variables dinámicas ("heap") que se reserva para el programa, con la directiva $M, o de lo contrario se puede obtener el error de "falta de memoria" (DosError = 8).

El código de salida del programa que se ha ejecutado se puede conocer consultando el valor de "DosExitCode".

Ejemplo:
{$M $4000,0,0 }   { 16K pila, sin heap }
uses Dos;
var
   programa, parametros: string;
begin
   Write('Programa a ejecutar: ');
   ReadLn(programa);
   Write('parámetros: ');
   ReadLn(parametros);
   WriteLn('Lanzando...');
   SwapVectors;
   Exec(programa, parametros);
   SwapVectors;
   WriteLn('...y volviendo');
   if DosError <> 0 then  { Si hay error }
       WriteLn('Error = ', DosError)
   else
       WriteLn('Ejecución correcta. ',
             'Valor de salida = ',
             DosExitCode);
end.


  Volver al índice de la referencia o al apartado de Pascal