[fpc-pascal]Text output oddities with W2k

Thomas Schatzl tom_at_work at yline.com
Sat Jun 9 23:06:01 CEST 2001


Hi,

> > unit. If it works with an 3rd party crt unit you can check the
differences
> > between the units to find the problem.
>
> I'll have a look at it.

You can download a patched and verified (with W2k only !) version of the CRT
unit at http://members.yline.com/~tom_at_work/crt010609.zip (will be there
at least for a week)

It now works fine with W2k and virtual screens greater than visual screens.

Some notes about the patches:
- I added a "//ts" mark everywhere I changed something, partially with some
comments. It would be great if the one who's adding this to the RTL source
tree removes them before checking them in (if you actually add it)
- I was forced to change the interface of some functions: wherey(),
wherex(), gotoxy(), window() due to the fact that bytes are too small to
hold probable input / output values (because virtual windows can easily be >
255 lines with W2k; usually they are). They're DWords now.
- the crt unit only operates on the screen area which was visible at the
time it was initialized, e.g. it never touches any areas beyond it (the
virtual screen area before and after the visual window). I don't know how
this is handled with the Linux CRT unit, but I thought this was the most BP
compatible way. This can be partially undone by calling the window()
function.
- I removed loads of global vars and useless internal functions to make it a
bit more multithreading safe. But it's still far away from that.
- only worked on the output; didn't do a thing regarding the input stuff.

Feedback appreciated, especially reports about Win9x compatibility.

Regards,
    Thomas






More information about the fpc-pascal mailing list