Otevřít hlavní menu

SwapVectors

Verze z 2. 10. 2012, 15:30, kterou vytvořil Zdeno Sekerák (diskuse | příspěvky) (Založena nová stránka: 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ů …)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)

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.