|
@@ -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;
|
|
|
|
|