[Lazarus] polymophic function pointers
xrfang
xrfang at gmail.com
Wed Feb 27 09:16:58 CET 2013
Hi,
Is it possible to do the following:
=== example ===
program test;
type
TMyClass = class
type
TDataFilter = function
public
Value : Double;
Filter: TDataFilter;
procedure ViewData;
end;
procedure TMyClass.ViewData;
begin
if Filter = nil then
WriteLn(Value)
else
WriteLn(Filter(Value));
end;
var
t : TMyClass;
begin
t := TMyClass.Create;
t.Value = 2;
t.Filter := @sqr; //this does not work
t.Filter := @ln; //this does not work either
t.ViewData;
t.Free;
end.
=========
The problem is, while assign function pointers to Filter, I would like to make it accept all numeric functions. That is, if I define it to accept Double, it should accept Single and Integers, and if I define it to accept Extended, it should accept all numbers.
Possible?
Thanks,
Shannon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20130227/8896a1b4/attachment-0002.html>
More information about the Lazarus
mailing list