On 2015-12-10 09:50, Jonas Maebe wrote: > > Graeme Geldenhuys wrote on Thu, 10 Dec 2015: > >> Is there some white paper, blog post, awesome MvC article that explains >> it all. And how it compares to Delphi's Unicode support (if this is >> important - though I don't use Delphi at all any more). > > http://wiki.freepascal.org/FPC_New_Features_3.0#Support_for_codepage-aware_strings
Thanks, but here's the problem. The wiki says FPC 3.0 is now Delphi 2009 string compatible. So I starting reading the "Delphi_and_Unicode.pdf" white paper. I tried the first example shown on page 7 (code below): var ch1: Char; ch2: AnsiChar; begin ch1 := 'ù'; // error Memo1.Lines.Add ('WideChar'); Memo1.Lines.Add ('UpCase ù: ' + UpCase(ch1)); Memo1.Lines.Add ('ToUpper ù: ' + ToUpper (ch1)); // warning ch2 := 'ù'; // error Memo1.Lines.Add ('AnsiChar'); Memo1.Lines.Add ('UpCase ù: ' + UpCase(ch2)); Memo1.Lines.Add ('ToUpper ù: ' + ToUpper(ch2)); // warning end; Tried to compile that with FPC (yes, I included the new "Character" unit in uses clause) and I get a couple of compiler errors. I tried first with mode OBJFPC and then with mode DELPHI. Same compiler errors. Compile Project, Target: project1: Exit code 1, Errors: 3, Warnings: 2 project1.lpr(35,10) Error: Incompatible types: got "Constant String" expected "Char" project1.lpr(38,50) Warning: Implicit string type conversion with potential data loss from "WideString" to "AnsiString" project1.lpr(39,10) Error: Incompatible types: got "Constant String" expected "Char" project1.lpr(42,50) Warning: Implicit string type conversion with potential data loss from "WideString" to "AnsiString" project1.lpr(54,13) Error: Variable identifier expected So already it seems information is missing for FPC usage, or FPC clearly isn't as "delphi compatible" as the wiki makes out to be. Or something else went astray. This is exactly what I'm talking about. It clearly doesn't "just work". I'll read the FPC_Unicode_support wiki from top to bottom. Maybe that sheds some light. My test project was created using Lazarus (Project -> New Application). I tried the same using a fpGUI toolkit project too. Regards, - Graeme - -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal