wang_80919 发表于 2017-12-10 11:37:46

想用匿名线程执行一个带参数的函数?

在 2ccc
TThread.CreateAnonymousThread(过程名).Start;
有人说 ,希望这个过程带参数。

其实,第一个回复他的人,说得非常对。
自己写一个是最简单的做法,而且非常的简单。

不要用 复制代码的按钮。

**** Hidden Message *****

上述例子,只是一个参数,您可以改成多个参数。


type
TProc = reference to procedure;
TProc<T> = reference to procedure (Arg1: T);
TProc<T1,T2> = reference to procedure (Arg1: T1; Arg2: T2);
TProc<T1,T2,T3> = reference to procedure (Arg1: T1; Arg2: T2; Arg3: T3);
TProc<T1,T2,T3,T4> = reference to procedure (Arg1: T1; Arg2: T2; Arg3: T3; Arg4: T4);

TFunc<TResult> = reference to function: TResult;
TFunc<T,TResult> = reference to function (Arg1: T): TResult;
TFunc<T1,T2,TResult> = reference to function (Arg1: T1; Arg2: T2): TResult;
TFunc<T1,T2,T3,TResult> = reference to function (Arg1: T1; Arg2: T2; Arg3: T3): TResult;
TFunc<T1,T2,T3,T4,TResult> = reference to function (Arg1: T1; Arg2: T2; Arg3: T3; Arg4: T4): TResult;


这是 DELPHI 已经提供的几个过程或函数的泛型定义。如果您还是不够用,您自己再加。


另外大家想想,为什么在 WIN MACOS IOS 下 3 个对话框是轮流显示的,而在安卓下却是 3 个一起显示的(本题不解答,除非给我 人民币 500万元)?

delphiiloveyou 发表于 2017-12-10 11:41:30

不错。长见识。

bjabc 发表于 2017-12-10 14:35:46

好,顶老猫。

vclclx 发表于 2017-12-10 23:09:00

隐藏了什么?

runter 发表于 2017-12-11 09:48:57


隐藏了什么?

crystalxp 发表于 2017-12-12 12:50:41

:victory::victory:

wfymqj 发表于 2017-12-12 13:46:25

来学习,谢谢分享!

idealstudio 发表于 2018-2-8 00:51:01

学习学习

cqbscxh 发表于 2018-4-12 05:57:14

谢谢 分享

arenpeng 发表于 2018-9-9 03:46:51

谢谢分享。。。。。。。。。。。
页: [1] 2
查看完整版本: 想用匿名线程执行一个带参数的函数?