Any idea to call:
 BeginThread (@MyObject.F1, Pointer (S))

Michael Van Canneyt wrote:

On Sat, 4 Mar 2006, Amir Aavani wrote:

I have problem with procedure Types.
Look at the following code:

TProcedure= procedure (S: String);
TTest= class
MyF: TProcedure;
procedure F1 (S: String);
procedure F2 (S: String);
....
...
end;

TTest.constructor ;
begin
MyF:= @F1;
end;

it says it can't cast "Procedure (S: String); Object" to TProcedure. The
problem is clear but I don't know
(can't find) any solution to define TProcedure as a procedure of a class which
accepts one argument.

Try the following (note the 'of object' in the declaration):

Type
 TMyStringProc = procedure (S : String) of object;

and then
x
 MyF : TMyStringProc;

This is documented.

Michael.
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to