12345678910111213141516171819202122232425262728 |
- program test;
- {$mode objfpc}{$H+}
- type
- TCallback = procedure of object;
- TTestObject = class (TObject)
- public
- class procedure Test;
- end;
- class procedure TTestObject.Test;
- begin
- writeln(Self.ClassName); // Self should point to TTestObject (class)
- if Self.ClassName<>'TTestObject' then
- halt(1);
- end;
- var
- Callback: TCallback;
- O: TTestObject;
- begin
- O := TTestObject.Create;
- Callback := @O.Test;
- Callback();
- O.Free;
- end.
|