[Lazarus] Again, Wrong Initial value for Application.BidiMode

Zaher Dirkey parmaja at gmail.com
Mon May 14 19:26:33 CEST 2012


Hi, Lazarus team

Yes, I know, I will be importunate for it, sorry for that.

In application.inc at line 128

  {$ifndef wince}// remove ifdef when gettext is fixed
  LCLGetLanguageIDs(LangDefault, LangFallback);
  if LangDefault <> '' then
    FBidiMode := Direction(LangDefault)
  else
    FBidiMode := Direction(LangFallback);
  {$else}
    FBidiMode := bdLeftToRight;
  {$endif}

This takes the BidiMode from the system, if the system desktop is Right To
Left, initial value of FBidiMode is bdRightToLeft, and it is wrong.

Why wrong.

You, and other developers make a new application and compile it on your
system then it work fine, now send it to me, what you expected it to run,
in Right To Left alignment or in Left To Right as you programmed it?

I think you expected as it programmed into your system, I mean Left To
Right.
But when I receive it from you it will run in Right To Left alignment

And all my English tools (not multi language) for example will run with
wrong alignment in Right To Left on my system, while it must run in Left To
Right.
Only Arabic or Hebrew program that chooses this language for our
application must run in Right To Left, it must not depend on the system.

I am using last revision of Lazarus, FPC 2.6

Best Regards
Zaher Dirkey
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20120514/dbe60298/attachment-0002.html>


More information about the Lazarus mailing list