mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-07 07:28:26 +02:00
47 lines
842 B
ObjectPascal
47 lines
842 B
ObjectPascal
{ %target=darwin }
|
|
{ %cpu=powerpc,powerpc64,i386,x86_64,arm,aarch64 }
|
|
{ %fail }
|
|
|
|
{ Written by Jonas Maebe in 2010, released into the public domain }
|
|
|
|
{$mode objfpc}
|
|
{$modeswitch objectivec1}
|
|
|
|
type
|
|
MyObject2 = objcclass(NSObject)
|
|
end;
|
|
|
|
MyCategory = objccategory(MyObject2)
|
|
procedure extraproc(a: longint); message 'extraproc:';
|
|
end;
|
|
|
|
MyObject = objcclass(NSObject)
|
|
// overrides extraproc added to NSObject
|
|
procedure extraproc(a: longint); override; message 'extraproc:';
|
|
end;
|
|
|
|
procedure MyCategory.extraproc(a: longint);
|
|
begin
|
|
if a<>1 then
|
|
halt(1);
|
|
end;
|
|
|
|
procedure MyObject.extraproc(a: longint);
|
|
begin
|
|
if a<>2 then
|
|
halt(2);
|
|
end;
|
|
|
|
|
|
var
|
|
a: NSObject;
|
|
b: MyObject;
|
|
begin
|
|
a:=NSObject.alloc.init;
|
|
a.extraproc(1);
|
|
a.release;
|
|
b:=MyObject.alloc.init;
|
|
b.extraproc(2);
|
|
b.release;
|
|
end.
|