You could use this: [snip] type TObjThreadFunc = function: PtrInt of object;
function BeginObjThread(ThreadFunction: TObjThreadFunc): DWord; begin with TMethod(ThreadFunction) do Result := BeginThread(TThreadFunc(Code), Data); end; [/snip] 2006/3/13, Amir Aavani <[EMAIL PROTECTED]>: > > 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 > -- Geno Roupsky _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel