Delphi线程类 DIY(把类指针作为参数传进去,就可以执行类里面的方法啦)

Posted 朝闻道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi线程类 DIY(把类指针作为参数传进去,就可以执行类里面的方法啦)相关的知识,希望对你有一定的参考价值。

Delphi 封装了一个很强大的线程类 TThread, 

 

我们也自己动手制作一个简单的线程类

 

首先Type一个类

 

[delphi] view plain copy
 
  1. type  
  2.   TwwThread = class  
  3.     constructor Create; overload;  
  4.     destructor Destroy; override;  
  5.   private  
  6.     m_hThread: THandle;     //线程  
  7.     m_ThreadID : TThreadID;  
  8.   public  
  9.     procedure Execute;  
  10.   end;  

 

 

 

[delphi] view plain copy
 
  1. function wwThreadProc(Thread: TwwThread): Integer;  
  2. begin  
  3.   Thread.Execute(); //  
  4. end;  
  5. constructor TwwThread.Create;  
  6. begin  
  7.   m_hThread := CreateThread(nil, 0, @wwThreadProc, Pointer(Self), 0, m_ThreadID); { 这里的重点是第四个参数, 把类指针作为参数传进去,这样就可以执行类里面的方法啦}  
  8. end;  
  9. destructor TwwThread.Destroy;  
  10. begin  
  11.   inherited;  
  12. end;  
  13. procedure TwwThread.Execute;  
  14. begin  
  15.   // 这里写上代码  
  16. end;  


声明一下:

 

[delphi] view plain copy
 
  1. var  
  2.   myThread : TwwThread;  

 

 

开始~

[delphi] view plain copy
 
    1. myThread := TwwThread.Create;  

http://blog.csdn.net/warrially/article/details/7887700

以上是关于Delphi线程类 DIY(把类指针作为参数传进去,就可以执行类里面的方法啦)的主要内容,如果未能解决你的问题,请参考以下文章

C++11多线程第三篇:线程传参详解,detach()大坑,成员函数做线程参数

java 如何将二维数组的一列作为参数传进去 求代码

线程函数传 C++ 类实例指针惯用法

DELPHI 线程怎样传递参数?

delphi多线程参数传递问题

如何将子类作为期望基类的函数的参数传递,然后将该对象传递给指向这些抽象类对象的指针向量?