SwapVectors

Z Delphi & Pascal (česká wiki)
Verze z 2. 10. 2012, 15:42, kterou vytvořil Zdeno Sekerák (diskuse | příspěvky) (1 revízia: Uses DOS)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Skočit na navigaci Skočit na vyhledávání

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.