Florian, On Saturday 30 August 2008 13.37:42 Florian Klaempfl wrote: > I've continued to work on support of an unicodestring type in fpc. It's > currently in an svn branch at: > http://svn.freepascal.org/svn/fpc/branches/unicodestring > and will be merged later to trunk. The unicodestring type is a ref. > counted utf-16 string. On non-windows, widestring is mapped to this > type. If you're interested in unicode support please test, give feedback > here and submit fixes. > I tried the unicode branch on Windows, rev. 11711 does not compile:
make[7]: Entering directory `E:/FPC/svn/trunk/rtl/win32' E:/FPC/svn/trunk/compiler/ppc1.exe -Ur -Xs -O2 -n -Fi../inc -Fi../i386 -Fi../win -FE. -FUE:/FPC/svn/trunk/rtl/units/i386-win32 -di386 -dRELEASE -Us -Sg system.pp -Fi../win wstrings.inc(1655,60) Error: Identifier not found "CharLengthPChar" ustrings.inc(2147,42) Error: Incompatible types: got "<address of procedure(PCha r,var UnicodeString, LongInt);Register>" expected "<procedure variable type of procedure(PChar,var WideString, LongInt);Register>" ustrings.inc(2148,44) Error: Incompatible types: got "<address of function(const UnicodeString):UnicodeString;Register>" expected "<procedure variable type of function(const WideString):WideString;Register>" ustrings.inc(2149,44) Error: Incompatible types: got "<address of function(const UnicodeString):UnicodeString;Register>" expected "<procedure variable type of function(const WideString):WideString;Register>" ustrings.inc(2151,46) Error: Incompatible types: got "<address of function(const UnicodeString,const UnicodeString):LongInt;Register>" expected "<procedure variable type of function(const WideString,const WideString):LongInt;Register>" ustrings.inc(2152,50) Error: Incompatible types: got "<address of function(const UnicodeString,const UnicodeString):LongInt;Register>" expected "<procedure variable type of function(const WideString,const WideString):LongInt;Register>" system.pp(1253) Fatal: There were 6 errors compiling module, stopping Fatal: Compilation aborted make[7]: *** [system.ppu] Fehler 1 make[7]: Leaving directory `E:/FPC/svn/trunk/rtl/win32' make[6]: *** [win32_all] Fehler 2 make[6]: Leaving directory `E:/FPC/svn/trunk/rtl' make[5]: *** [rtl] Fehler 2 make[5]: Leaving directory `E:/FPC/svn/trunk/compiler' make[4]: *** [next] Fehler 2 make[4]: Leaving directory `E:/FPC/svn/trunk/compiler' make[3]: *** [ppc2.exe] Fehler 2 make[3]: Leaving directory `E:/FPC/svn/trunk/compiler' make[2]: *** [cycle] Fehler 2 make[2]: Leaving directory `E:/FPC/svn/trunk/compiler' make[1]: *** [compiler_cycle] Fehler 2 make[1]: Leaving directory `E:/FPC/svn/trunk' make: *** [build-stamp.i386-win32] Fehler 2 Compiling MSEide with rev. 11667 I get: Free Pascal Compiler version 2.3.1 [2008/09/05] for i386 Copyright (c) 1993-2008 by Florian Klaempfl Target OS: Win32 for i386 Compiling mseide.pas [...] msestream.pas(762,2) Warning: Class types "tmsefilestream" and "THandleStreamcracker" are not related msestream.pas(785,33) Warning: Class types "tmsefilestream" and "THandleStreamcracker" are not related msestream.pas(810,34) Warning: Class types "tmsefilestream" and "THandleStreamcracker" are not related msesysintf.pas(1552,21) Fatal: Unknown compilerproc "fpc_widechararray_to_unicodestr". Check if you use the correct run time library. Fatal: Compilation aborted If you want to try it yourself, MSEide+MSEgui trunk rev. 2473 has msestring = unicodestring if compiled with -dmse_unicodestring. I found no UnicodeString support in typeinfo and variants? What are the plans for Unicode resourcestrigs? TField should probably have an asUnicodeString property too. Thank you very much for your work. Martin _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel