mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-11-26 17:57:10 +01:00
* add CtrlC for go32v2 and checks for windows calls
git-svn-id: trunk@6120 -
This commit is contained in:
parent
fcac5238fd
commit
07327f9301
@ -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;
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user