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.
_______________________________________________
fpc-devel maillist - [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-devel