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

Reply via email to