On Fri, 3 Dec 2010, Thaddy wrote:
On 3-12-2010 13:22, Thaddy wrote:
---
CreateFile;
lpFileName
Use the CONIN$ value to specify console input.
Use the CONOUT$ value to specify console output.
CONIN$ gets a handle to the console input buffer, even if the SetStdHandle
function redirects the standard input handle. To get the standard
input handle, use the GetStdHandlefunction.
CONOUT$ gets a handle to the active screen buffer, even if
SetStdHandleredirects the standard output handle. To get the standard output
handle,
use GetStdHandle.
This behaveour is broken in FPC without intervention from the programmer in a very
"unusual" way. (i.e. without hacks)
HOW is it broken ?
If you use the CreateFile() function from the windows unit, you are directly speaking
to the operating system, FPC in no way interferes with that.
If you think that these functions or their description somehow apply or transfer to
the standard Pascal Input, Output and stdErr text variables, then you are mistaken.
The rules for these variables are governed by the pascal standard, not by the operating system.
If you want the functionality of the CreateFile() function, you must use Windows,
and only windows, functions on the file handles thus obtained.
Michael.
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel