TACharts auf dem MAC seitenverkehrt

Rund um die LCL und andere Komponenten
Antworten
Benutzeravatar
h-elsner
Lazarusforum e. V.
Beiträge: 259
Registriert: Di 24. Jul 2012, 15:42
OS, Lazarus, FPC: LINUX Mint21.1, Win10, Lazarus 2.2.4, FPC3.2.2
CPU-Target: X86-64; arm 32bit
Wohnort: Illertissen
Kontaktdaten:

TACharts auf dem MAC seitenverkehrt

Beitrag von h-elsner »

Hallo,

ich habe ein Programm mit einigen Charts drin und verwende TAChart. Tolle sache, man kann viele schöne Dinge damit machen. Es gibt auch kein Problem, wenn ich unter Windows oder LINUX kompiliere, alles fit.
Jetzt habe ich jemanden gefunden, der einen MAC hat und das Programm da für mich kompiliert. Das funktioniert auch und das Programm läuft. Verblüffenderweise sind aber alle Charts seitenverkehrt, d.h. die X-Achsen sind invertiert. Chart1.AxisList[1].Inverted steht auf 'false'. True setzen hilft nicht, es wird sofort wieder auf false gestellt und die X-Achse bleibt invertiert.
Inverted scheint beim MAC keine Wirkung zu haben.

Hat jemand dieses Problem schon mal gehabt oder weiß Abhilfe?

Zur Illustration:

LINUX oder Windows:

ScreenshotHöhenprofil_1.png


Auf dem MAC:

Bildschirmfoto 2017-11-03 um 15.04.29.png



Edit: Ich sehe gerade, dass auch die Reihenfolge der Spalten im TStringGrid invertiert ist. Was bei mir links beginnt, startet beim MAC rechts. Es scheint also nicht das Problem von TAChart zu sein, sondern generell beim Zeichnen der Komponente.
RadioGroups sind rechts ausgerichtet, nicht links usw. Die Texte werden aber richtig ausgeben, nicht spiegelverkehrt.
Komische Sache das MAC Zeugs.

Gruß HE

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: TACharts auf dem MAC seitenverkehrt

Beitrag von wp_xyz »

Das ist keine Problem des Mac, sondern das hört sich so an, als ob BiDiMode auf Rechts-nach-Links gesetzt ist, so wie man es in arabischen Ländern hat. Diese Eigenschaft hat jedes Control, auch das Formular und Application. Schau mal nach, ob jeweils bei BiDiMode der Eintrag bdRightToLeft gewählt ist. Richtig wäre bdLeftToRight.

Benutzeravatar
h-elsner
Lazarusforum e. V.
Beiträge: 259
Registriert: Di 24. Jul 2012, 15:42
OS, Lazarus, FPC: LINUX Mint21.1, Win10, Lazarus 2.2.4, FPC3.2.2
CPU-Target: X86-64; arm 32bit
Wohnort: Illertissen
Kontaktdaten:

Re: TACharts auf dem MAC seitenverkehrt

Beitrag von h-elsner »

Vielen Dank für die (wie immer) schnelle Antwort. Ich hatte auf jeden Fall bdLeftToRight eingestellt. Wenn ich das unter Windows für das Formular ändere, dann sind auch die Texte von rechts nach links ausgerichtet. Das ist hier beim MAC nicht so. Kann aber sein, dass das bei Apple anders gehandhabt wird, würde aber kaum Sinn machen.
Für die Controls ist es auf jeden Fall genau dieses Verhalten (Umsortieren der Spalten im StringGrid, TA Chart gespiegelt usw.). Die Ausrichtung der RadioGroup würde für 'bdRightToLeftNoAlign' sprechen, aber dann sind unter Windows die Spalten nicht umsortiert. Beim MAC irgendwie ein Gemisch aus beiden Properties.

Ich melde mich, wenn es Neuigkeiten aus den Tests beim MAC gibt.

Gruß HE

Benutzeravatar
h-elsner
Lazarusforum e. V.
Beiträge: 259
Registriert: Di 24. Jul 2012, 15:42
OS, Lazarus, FPC: LINUX Mint21.1, Win10, Lazarus 2.2.4, FPC3.2.2
CPU-Target: X86-64; arm 32bit
Wohnort: Illertissen
Kontaktdaten:

Re: TACharts auf dem MAC seitenverkehrt

Beitrag von h-elsner »

Problem gelöst: "Bei den entsprechenden Komponenten war der BiDiMode auf RightToLeft eingestellt. Habe diesen jeweils auf LeftToRight geändert und sieht da, es funktioniert!"

Also nicht beim ganzen Formular, sondern bei einzelnen Komponenten. Warum sich das wie durch ein Wunder beim Kompilieren beim MAC verstellt (denn bei Windows und LINUX war es ja korrekt) ist noch nicht klar.

Gruß und nochmal vielen Dank, HE

Antworten