2Pascal-新时代的Pascal

标题: 想用匿名线程执行一个带参数的函数? [打印本页]

作者: wang_80919    时间: 2017-12-10 11:37
标题: 想用匿名线程执行一个带参数的函数?
在 2ccc
TThread.CreateAnonymousThread(过程名).Start;
有人说 ,希望这个过程带参数。

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

不要用 复制代码  的按钮。



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

[mw_shl_code=delphi,true]
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;
[/mw_shl_code]

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


另外大家想想,为什么在 WIN MACOS IOS 下 3 个对话框是轮流显示的,而在安卓下却是 3 个一起显示的(本题不解答,除非给我 人民币 500万元)?
作者: delphiiloveyou    时间: 2017-12-10 11:41
不错。长见识。
作者: bjabc    时间: 2017-12-10 14:35
好,顶老猫。
作者: vclclx    时间: 2017-12-10 23:09
隐藏了什么?
作者: runter    时间: 2017-12-11 09:48

隐藏了什么?
作者: crystalxp    时间: 2017-12-12 12:50

作者: wfymqj    时间: 2017-12-12 13:46
来学习,谢谢分享!
作者: idealstudio    时间: 2018-2-8 00:51
学习学习
作者: cqbscxh    时间: 2018-4-12 05:57
谢谢 分享
作者: arenpeng    时间: 2018-9-9 03:46
谢谢分享。。。。。。。。。。。
作者: zxh3344    时间: 2018-9-11 02:26
来学习,谢谢分享!
作者: ashalee    时间: 2019-6-25 23:01
看看是啥
作者: 先来一铜大铲    时间: 2020-3-2 06:29
多线程知识,扩展中




欢迎光临 2Pascal-新时代的Pascal (http://2pascal.com/) Powered by Discuz! X3