2009-01-09 180 views
8

我经常使用C#的BackgroundWorker对象来启动线程并执行任务。在Delphi中完成同样的事情最简单的方法是什么?在Delphi中实现C#的BackgroundWorker的最佳方式是什么?

下面是在C#中的一些代码:

private void button1_Click(object sender, EventArgs e) 
{ 
    BackgroundWorker bg = new BackgroundWorker(); 
    bg.DoWork += new DoWorkEventHandler(bg_DoWork); 
    bg.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bg_RunWorkerCompleted); 
    test_number++; 
    object[] arguments = { "test", test_number }; 
    bg.RunWorkerAsync(arguments); 
} 

void bg_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) 
{ 
     // done. 
} 

void bg_DoWork(object sender, DoWorkEventArgs e) 
{ 
    // do actual work here 
} 

回答

1

您的解决方案是这样的:delphi-components/backgroundworker这个组件像C#的BackgroundWorker的事件,物业等

+0

为什么`(?:'是有一些问题,与此组件 – Johan 2011-12-08 11:44:10

相关问题