After searching through all files on my Lazarus distribution (2.0.2, FPC 3.0.4), I couldn't find either SetSafeCPSwitching or SetUseACP.
They are part of fpc. If you used the official installer, then that is in a subfolder of your install.
Not in FP 3.0.4; they'll be in 3.2
Is there any way to use the new crt unit? I tried just copying it to D:\Lazarus_32bit_2.0.x\fpc\3.0.4\source\packages\rtl-console\src\win but compiling a simple test program (below) gave an error "Identifier not found" for both SetUseACP and SetSafeCPSwitching.
I then tried deleting crt.ppu in D:\Lazarus_32bit_2.0.x\fpc\3.0.4\units\i386-win32\rtl-console but then got the error "Write_ASCII_extended_chars_10a.pas(11,1) Fatal: Cannot find crt used by Write_ASCII_extended_chars_10a. Make sure all ppu files of a package are in its output directory. ppu in wrong directory=D:\Lazarus_32bit_2.0.x\fpc\3.0.4\units\i386-win32\rtl-console\crt.ppu..".
I had assumed that the required crt.ppu would be created during compilation of the test program but I couldn't find it anywhere.
How can I get the correct crt.ppu for the new crt.pp? Can it just be uploaded (if it exists) and copied to the required folder? What else would I need to do?
Any idea on when FP 3.2 will be released? (Since this issue with the extended ASCII chars was resolved almost two years ago, I might have hoped that the fix would have been incorporated by now.)
program Write_ASCII_extended_chars_10a;
uses
crt;
(* Also tried explicit path -
uses
crt in 'D:\Lazarus_32bit_2.0.x\fpc\3.0.4\source\packages\rtl-console\src\win\';
*)
begin
clrscr; // just to test that the crt is actually being used
SetUseACP(true);
SetSafeCPSwitching(false);
end.