mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-06 11:10:48 +02:00
48 lines
904 B
ObjectPascal
48 lines
904 B
ObjectPascal
{ %target=darwin }
|
|
{ %cpu=powerpc,powerpc64,i386,x86_64,arm,aarch64 }
|
|
|
|
{ Written by Jonas Maebe in 2009, released into the public domain }
|
|
|
|
{$mode objfpc}
|
|
{$modeswitch objectivec1}
|
|
|
|
type
|
|
ta = objcclass(NSObject)
|
|
function tabaseproc(cp: longint): double; message 'tabaseproc:';
|
|
end;
|
|
|
|
ca = objccategory(ta)
|
|
function tabaseproc(cp: longint): double; reintroduce;
|
|
end;
|
|
|
|
nsobjectta = objccategory(NSObject)
|
|
function tabaseproc(cp: longint): double; message 'tabaseproc:';
|
|
end;
|
|
|
|
function ta.tabaseproc(cp: longint): double;
|
|
begin
|
|
result:=cp;
|
|
halt(1);
|
|
end;
|
|
|
|
function ca.tabaseproc(cp: longint): double;
|
|
begin
|
|
result:=inherited tabaseproc(cp+1);
|
|
end;
|
|
|
|
function nsobjectta.tabaseproc(cp: longint): double;
|
|
begin
|
|
if (cp<>4321) then
|
|
halt(1);
|
|
result:=123.625;
|
|
end;
|
|
|
|
var
|
|
a: ta;
|
|
begin
|
|
a:=ta(ta.alloc).init;
|
|
if a.tabaseproc(4320)<>123.625 then
|
|
halt(2);
|
|
a.release;
|
|
end.
|