I tryed to create general guidelines for the Unicode effort here:
http://wiki.lazarus.freepascal.org/LCL_Unicode_Support
On 10/15/06, Borut Maricic <[EMAIL PROTECTED]> wrote:
* Discuss the possible future directions (including the
possibility of abandoning my approach altogether, of course,
if too complex/unnecessary) on the list
Errrr, I´m sorry to say but I can immediatly see that your code breaks
Win98 support for the ANSI version of win32 widgetset. Specifically
the following code:
if Win32PlatformIsUnicodeUsed
then Result := Windows.DefWindowProcW(Window, Msg, WParam, LParam)
else Result := Windows.DefWindowProc (Window, Msg, WParam, LParam);
This is not enougth to run on Win9x, because even if the second line
above is never executed, the linker will still link the W versions of
Windows APIs. And our software won´t be able to run on Win9x because
those functions don´t exist.
All Unicode related code must remain under IFDEFs, not contaminating
the ANSI version of Win32 widgetset because Unicode code is
experimental, and we are approaching 1.0, and if we don´t isolate it,
we may break Win32 interface, or delay 1.0 by introducing bugs. (Like
the lack of support for Win9x).
So this is a guideline for Unicode code on win32 interface that I
strongly suggest: Put all Unicode changes on IFDEFs, so they don´t
contaminate existing code.
Either this, or simply fork Win32 interface for Unicode.
thanks,
--
Felipe Monteiro de Carvalho
_________________________________________________________________
To unsubscribe: mail [EMAIL PROTECTED] with
"unsubscribe" as the Subject
archives at http://www.lazarus.freepascal.org/mailarchives