SwapVectors

From Delphi & Pascal (česká wiki)
Jump to navigation Jump to search

Vymění navzájem vektory přerušení v SaveIntXX.

Deklarace
procedure SwapVectors;
Režim
Reálný, Chráněný
Poznámky
Vymění navzájem obsahy pointrů SaveIntXX v jednotce System a aktuální obsahy vektorů přerušení. SwapVectors je obvykle použito těsně před a ihned po volání Exec. Tím je zajištěno, že volaný proces nepoužije žádné obsluhy přerušení, instalované aktuálním procesem, a naopak.


Viz také
Exec


Vzorový příklad

{ Getenv.PAS }
{ Vzorový příklad pro funkci GetEnv. }
{$M 8192,0,0}
uses Dos;
var Command: string[79];
begin
  Write('Zadejte příkaz DOSu: ');
  Readln(Command);
  if Command <>  then
    Command := '/C ' + Command;
  SwapVectors;
  Exec(GetEnv('COMSPEC'), Command);
  SwapVectors;
  if DosError <> 0 then
    Writeln('Nelze spustit COMMAND.COM');
end.