[fpc-devel] Creating a Cocoa Application
Jonas Maebe
jonas.maebe at elis.ugent.be
Sun Jan 6 19:17:52 CET 2008
On 06 Jan 2008, at 19:03, Felipe Monteiro de Carvalho wrote:
> I translated enougth headers to call NSApplicationLoad and
> NSRunAlertPanel, but I got stuck at the @"string" syntax. I tryed to
> just define PNSString as a generic pointer and pass a PChar to it, but
> it doesn't work, the application crashes with messages that the
> autorelease pool isn't installed:
@"string" is indeed a shorthand for a constant NSString. Compiler
magic is required to construct these properly (similar to how you
can't just fake a constant ansistring by using a pchar on a compiler
which doesn't support ansistrings). E.g. @"This is the title" is
translated into this:
.cstring
LC3:
.ascii "This is the title\0"
.section __DATA, __cfstring
.align 2
LC4:
.long ___CFConstantStringClassReference
.long 1992
.long LC3
.long 17
.text
Without this supportyou must create the NSString at run time from a
regular constant string. Regarding when you need an autorelease pool
and when not (and how to create it), see e.g. http://www.otierney.net/objective-c.html#autorelease
Jonas
More information about the fpc-devel
mailing list