[fpc-devel] Unicodestring branch, please test and help fixing

Florian Klaempfl florian at freepascal.org
Fri Sep 5 22:50:23 CEST 2008


Martin Schreiber schrieb:
> 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

This should be fixed.
> 
> 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.

What's the official way to compile MSE?

> I found no UnicodeString support in typeinfo and variants?

Indeed, this must be added.

> What are the plans for Unicode resourcestrigs? 

Not decided yet.

> TField should probably have an 
> asUnicodeString property too.




More information about the fpc-devel mailing list