* add CtrlC for go32v2 and checks for windows calls

git-svn-id: trunk@6120 -
This commit is contained in:
pierre 2007-01-22 04:12:11 +00:00
parent fcac5238fd
commit 07327f9301

View File

@ -48,8 +48,13 @@ Procedure RestoreConsoleMode(const ConsoleMode : TConsoleMode);
implementation
{$ifdef Windows}
uses
wutils,
windows;
{$endif Windows}
{$ifdef GO32V2}
uses
Dpmiexcp;
{$endif GO32V2}
Procedure SaveConsoleMode(var ConsoleMode : TConsoleMode);
Begin
@ -57,10 +62,15 @@ Begin
TCGetAttr(1,ConsoleMode);
{$endif UNIX}
{$ifdef Windows}
GetConsoleMode(GetStdHandle(STD_INPUT_HANDLE),ConsoleMode);
if not GetConsoleMode(GetStdHandle(STD_INPUT_HANDLE),ConsoleMode) then
DebugMessage('','Call to GetConsoleMode failed, GetLastError='+
IntToStr(GetLastError),0,0);
{$endif Windows}
{$ifdef go32v2}
ConsoleMode:=0;
if djgpp_set_ctrl_c(false) then
ConsoleMode:=1
else
ConsoleMode:=0;
{$endif go32v2}
{$ifdef netware}
ConsoleMode:=0;
@ -73,9 +83,12 @@ Begin
TCSetAttr(1,TCSANOW,ConsoleMode);
{$endif UNIX}
{$ifdef Windows}
SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE),ConsoleMode);
if not SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE),ConsoleMode) then
DebugMessage('','Call to SetConsoleMode failed, GetLastError='+
IntToStr(GetLastError),0,0);
{$endif Windows}
{$ifdef go32v2}
djgpp_set_ctrl_c((ConsoleMode and 1)<>0);
{$endif go32v2}
End;