[gelöst] macOS Form Focus

[gelöst] macOS Form Focus

Beitragvon Swirl » 18. Jun 2019, 13:45 [gelöst] macOS Form Focus

Hallo,

mache gerade auf dem Mac erste Gehversuche und habe gleich ein eher kleines Problem.
Nach dem Start meines Programms bekommt die Form - bzw. die mit Tab Order 1 markierte
Komponente - keinen Focus. Bin bisher auch im englischsprachigen Forum nicht auf eine
Lösung gestoßen.

Für einen Hinweis wäre ich dankbar.

Gruß,
Michael
Zuletzt geändert von Swirl am 18. Jun 2019, 14:34, insgesamt 1-mal geändert.
macOS Mojave Laz 2.0.2 / Raspbian Laz 1.8.4
Kubuntu 18.10 Laz 1.8.4 / Win7/10 Pro 64bit Laz 2.0.0
Swirl
 
Beiträge: 31
Registriert: 7. Aug 2015, 14:05
Wohnort: Schwerte
CPU-Target: x86_64, ARM Cort.-A7
Nach oben

Beitragvon Swirl » 18. Jun 2019, 14:32 Re: macOS Form Focus

Bin dann dann auf https://forum.lazarus.freepascal.org/in ... ic=35282.0 doch noch fündig
geworden. Nach dem Einfügen von Application.BringToFront im OnCreate der Form war das Problem
gelöst.
Bin dann mal gespannt, was der Apfel dann noch so an Überraschungen bietet.

Gruß,
Michael
macOS Mojave Laz 2.0.2 / Raspbian Laz 1.8.4
Kubuntu 18.10 Laz 1.8.4 / Win7/10 Pro 64bit Laz 2.0.0
Swirl
 
Beiträge: 31
Registriert: 7. Aug 2015, 14:05
Wohnort: Schwerte
CPU-Target: x86_64, ARM Cort.-A7
Nach oben

Beitragvon Warf » 18. Jun 2019, 14:35 Re: macOS Form Focus

Ich habe schon seit bestimmt einem Jahr nichts mehr mit lazarus auf Mac OSX gemacht (ich beschränke mich wenn auf fpc konsolenanwendungen), aus dem einfachen grund das die LCL auf Mac OSX einfach nicht gut läuft. Die Fokus issues sind u.a. eins der Probleme (ein anderes ist das du bei einem OpenDialog ne 50-50 chance hat das das gesammte programm crasht).

Du könntest versuchen QT oder GTK zum laufen zu bekommen, die sind zwar nicht schön (sehen halt nicht im ansatz so aus wie modernes OSX) aber sind recht stabil, leider benötigt GTK auf dem Zielrechner X11 (was seit OSX Snow Leopard oder so nicht mehr von Apple bereitgestellt wird) und QT war ein echter krampf zu installieren. Eventuell kannst du auch mal zwischen Carbon und Cocoa hin und her probieren (Cocoa kann noch nicht alles von der LCL, ist in ein paar sachen aber stabiler als Carbon), ansonsten mein Tipp: Benutz kein lazarus für OSX. Sobald deine anwendung komplizierter als eine Form mit ein paar Buttons und Inputs wird, fliegt dir alles um die Ohren.
Warf
 
Beiträge: 1160
Registriert: 23. Sep 2014, 17:46
Wohnort: Aachen
OS, Lazarus, FPC: Mac OSX 10.11 | Win 10 | FPC 3.0.0 | L trunk | 
CPU-Target: x86_64, i368, ARM
Nach oben

Beitragvon Swirl » 18. Jun 2019, 14:45 Re: macOS Form Focus

Warf hat geschrieben:...ansonsten mein Tipp: Benutz kein lazarus für OSX. Sobald deine anwendung komplizierter als eine Form mit ein paar Buttons und Inputs wird, fliegt dir alles um die Ohren.


Besten Dank Warf.
Danke für den Hinweis - ggf. wäre mir dann ein Auftrag am Ende um die Ohren geflogen. Werfe doch noch einen tieferen Blick in XCode...
macOS Mojave Laz 2.0.2 / Raspbian Laz 1.8.4
Kubuntu 18.10 Laz 1.8.4 / Win7/10 Pro 64bit Laz 2.0.0
Swirl
 
Beiträge: 31
Registriert: 7. Aug 2015, 14:05
Wohnort: Schwerte
CPU-Target: x86_64, ARM Cort.-A7
Nach oben

Beitragvon Warf » 18. Jun 2019, 15:02 Re: [gelöst] macOS Form Focus

Swirl hat geschrieben:Danke für den Hinweis - ggf. wäre mir dann ein Auftrag am Ende um die Ohren geflogen. Werfe doch noch einen tieferen Blick in XCode...

Sobald man sich dran gewöhnt hat macht swift echt spaß, aber Cocoa ist extrem ungewöhnlich wenn man von Lazarus kommt. Kleines beispiel, bei lazarus gibst du der ListBox items via Items.Add/Items.AddStrings, etc. Bei Cocoa übergibst du dem Listbox objekt ein Objekt was ein Delegate Interface implementiert was die funktionen getItemCount und getItemAtIndex (oder so) implementiert, sodass die Listbox für jedes item die funktion aufrufen kann, und dein Code praktisch passiv arbeiten muss (im vergleich zu dem aktiven managen in der LCL) und darauf wartet aufgerufen zu werden. Grade wenn man von Lazarus oder .Net kommt ist das extrem ungewohnt
Eventuell kannst du auch mal einen blick auf .Net/Mono mit GTKSharp ansehen. Da das auf dem .Net aufbaut ist es in sehr vielen breichen extrem ähnlich zu Lazarus' LCL. Ansonsten, solang man nicht allzuviel Low Level machen muss bietet sich für viele GUI anwendungen auch Javascript und HTML an, das läuft auf jedem system gleich
Warf
 
Beiträge: 1160
Registriert: 23. Sep 2014, 17:46
Wohnort: Aachen
OS, Lazarus, FPC: Mac OSX 10.11 | Win 10 | FPC 3.0.0 | L trunk | 
CPU-Target: x86_64, i368, ARM
Nach oben

• Themenende •

Zurück zu MacOS



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

porpoises-institution
accuracy-worried