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