Recent

Author Topic: macOS 32-bit app warning  (Read 27696 times)

MISV

  • Hero Member
  • *****
  • Posts: 783
Re: macOS 32-bit app warning
« Reply #75 on: May 19, 2018, 01:04:12 pm »
Is there anything that needs testing? I use Lazarus/Carbon for porting my Windows apps, so the warnings is a bit of a problem for me. But I guess one can only blame oneself for not learning the underlying Mac libraries and API, so one could help more directly on the Cocoa implementation. I am grateful for those who are working on the Cocoa implementation + those who have issued bounties. (Thank you)

I think priority should be to get all controls essentially working - if a control look a bit different in height/width etc. that can for now be corrected with some runtime code fixing sizes etc. (I personally already do that now since I also maintain Delphi/VCL compability)

Thaddy

  • Hero Member
  • *****
  • Posts: 14205
  • Probably until I exterminate Putin.
Re: macOS 32-bit app warning
« Reply #76 on: May 19, 2018, 01:47:24 pm »
Apple is phasing out/ has phased out 32 bit. When targeting MAC you *must* use 64 bit. If not now, within weeks... not years... Although some support will be provided until 2020.

Apple's warning dates from 2016....
If you are trying to port code that relies on 32 bit that is a big mistake and you just are caught out.....

I have no pity with the dumb.
« Last Edit: May 19, 2018, 01:58:18 pm by Thaddy »
Specialize a type, not a var.

dbannon

  • Hero Member
  • *****
  • Posts: 2786
    • tomboy-ng, a rewrite of the classic Tomboy
Re: macOS 32-bit app warning
« Reply #77 on: May 19, 2018, 02:42:00 pm »
Quote
If you are trying to port code that relies on 32 bit that is a big mistake and you just are caught out.....
Ideally, to port your 'Lazarus' code from 32bit to 64bit you need to change CPU Target, the widget set (Carbon->Cocoa) and the compiler. Three settings and build.

Its likely however, you will find some things that work a little differently but more importantly, you find some things that don't work as they should yet. Someone taking this approach is not dumb, they simply had no choice. Six months ago Cocoa was unusable, today, its amazingly close !

Right now MISV, I know of two things not working, Memory leaks in PageControl and  Printing. Bet there is more of course but thats hardly surprising.

In the category of things that are a different, requiring some coding around, only one. In Carbon, I could hid my main window and users could still see its menus, sadly for me, in Cocoa the menus are disabled when their main window is hidden. I don't know which is correct behavior so cannot  report it as a bug. My problem to fix my code.
 
So, start testing your app, make a mode thats for Cocoa and test away.

We have seen massive progress with Cocoa rcently, its very nearly usable and the folks responsible are doing a fantastic job, thanks !

Davo
« Last Edit: May 19, 2018, 02:55:52 pm by dbannon »
Lazarus 3, Linux (and reluctantly Win10/11, OSX Monterey)
My Project - https://github.com/tomboy-notes/tomboy-ng and my github - https://github.com/davidbannon

MISV

  • Hero Member
  • *****
  • Posts: 783
Re: macOS 32-bit app warning
« Reply #78 on: May 21, 2018, 01:12:20 pm »
Apple is phasing out/ has phased out 32 bit. When targeting MAC you *must* use 64 bit. If not now, within weeks... not years... Although some support will be provided until 2020.

Apple's warning dates from 2016....
If you are trying to port code that relies on 32 bit that is a big mistake and you just are caught out.....

I have no pity with the dumb.

For me my codebase (huge project) compiles across:
  • Old (down to Delphi2007 tested) and new (up to XE4 tested) Delphi version codepage/unicode and 32/64 bit (for many years)
  • It also compiles on Lazarus/LCL/Windows and Lazarus/LCL/Mac/Carbon.

It is fine if you are not using Lazarus or Cocoa - but I want to use Lazarus and Cocoa... So not really much choice than keep on targeting 32bit on Mac until 64bit Cooca was ready. A least if you have limited resources and want to use Lazarus / Cocoa. However, as I stated, one could have tried to help more, so only oneself to blame for it not being ready :)




« Last Edit: May 21, 2018, 01:18:04 pm by MISV »

 

TinyPortal © 2005-2018