Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2012-05

Again, Wrong Initial value for Application.BidiMode

2 messages · 1 person · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Zaher Dirkey

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.freepascal.org/pipermail/lazarus/attachments/20120514/dbe60298/attachment.html>

Reply by email

Zaher Dirkey
to Zaher Dirkey
Zaher Dirkey wrote 41 lines
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

Reported as bug

http://bugs.freepascal.org/view.php?id=22044

Best Regards
Zaher Dirkey
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20120515/3e578876/attachment.html>

Reply by email