Carbon Interface

From Free Pascal wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Deutsch (de) English (en) 日本語 (ja)

macOSlogo.png

This article applies to macOS only.

See also: Multiplatform Programming Guide


What you need

The Carbon widgetset is in an early stage of development. A fully functional Lazarus IDE on Mac OS X is strongly recommended. For instructions see Installing Lazarus on Mac OS X.

Getting a carbonproof Lazarus

  • Start Lazarus. The IDE will start with a new project with an empty form. Save this project under a name of your choice. In the following examples we assume this to be /Users/<yourUsername>/pascal/test/project1.lpi

Compiling the Carbon Interface

We now assume your Lazarus directory is located at /Users/<yourUsername>/pascal/lazarus/

  • Start Lazarus.
  • Set Environment>Environment Options>Files>Lazarus Directory to /Users/<yourUsername>/pascal/lazarus/
  • Set Tools>Configure "Build Lazarus"> to

BuildLazarusOptionsCarbonIntf.png and add this to your 'Options': -k-framework -kcarbon This will prevent unresolved symbols (Carbon-symbols like _ActivateWindow) while linking lazarus.

  • Tools>Build Lazarus -- This will compile the Carbon Interface and put the .ppu files into /Users/<yourUsername>/pascal/lazarus/lcl/units/powerpc-darwin and /Users/<yourUsername>/pascal/lazarus/lcl/units/powerpc-darwin/carbon

Your first native Carbon App

Compiler Options

Set Project > Compiler Options > Paths > LCL Widget Type to carbon

Set Project > Compiler Options > Linkink > Options Check Pass Options to the Linker

and type in the edit field:

-framework carbon

File:CarbonLinkerOptions.png

You should now be able to compile the project without errors. It will create an executable project1, but you can not focus it. That's because Mac OS X expects some hidden resource files.

Creating the Apple Resource files

There is a tool to create these files.

Open /Users/<yourUserName>/pascal/lazarus/components/macfiles/examples/createmacapplication.lpi in the IDE. Compile.

Open a Terminal of your choice. Type:

cd /Users/<yourUserName>/pascal/project1/
/Users/<yourUserName>/pascal/lazarus/components/macfiles/examples/createmacapplication project1
ln -s ../../../project1 project1.app/Contents/MacOS/project1

Now you can start the program via its Finder icon or in the native Mac OS Terminal via ./project1.app/Contents/MacOS/project1

Carbon interface internals

If you want to help improving the carbon interface, see here

Carbon interface internals