* 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 implementation
{$ifdef Windows} {$ifdef Windows}
uses uses
wutils,
windows; windows;
{$endif Windows} {$endif Windows}
{$ifdef GO32V2}
uses
Dpmiexcp;
{$endif GO32V2}
Procedure SaveConsoleMode(var ConsoleMode : TConsoleMode); Procedure SaveConsoleMode(var ConsoleMode : TConsoleMode);
Begin Begin
@ -57,10 +62,15 @@ Begin
TCGetAttr(1,ConsoleMode); TCGetAttr(1,ConsoleMode);
{$endif UNIX} {$endif UNIX}
{$ifdef Windows} {$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} {$endif Windows}
{$ifdef go32v2} {$ifdef go32v2}
ConsoleMode:=0; if djgpp_set_ctrl_c(false) then
ConsoleMode:=1
else
ConsoleMode:=0;
{$endif go32v2} {$endif go32v2}
{$ifdef netware} {$ifdef netware}
ConsoleMode:=0; ConsoleMode:=0;
@ -73,9 +83,12 @@ Begin
TCSetAttr(1,TCSANOW,ConsoleMode); TCSetAttr(1,TCSANOW,ConsoleMode);
{$endif UNIX} {$endif UNIX}
{$ifdef Windows} {$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} {$endif Windows}
{$ifdef go32v2} {$ifdef go32v2}
djgpp_set_ctrl_c((ConsoleMode and 1)<>0);
{$endif go32v2} {$endif go32v2}
End; End;