Multithreading 背景工作者德尔菲

Multithreading 背景工作者德尔菲,multithreading,delphi,asynchronous,delphi-2006,Multithreading,Delphi,Asynchronous,Delphi 2006,我想为Delphi Borland 2006中的程序准备异步过程,你们知道怎么做吗 application.ProcessMessages; dm001.Proc.Close; dm001.Proc.Parameters.Clear; dm001.Proc.ProcedureName:='[dbo].[EXAMPLE]'; dm001.Proc.Parameters.AddParameter.Name:='@idEXAMPLE'; dm001.Proc.Parameters.

我想为Delphi Borland 2006中的程序准备异步过程,你们知道怎么做吗

application.ProcessMessages;
  dm001.Proc.Close;
  dm001.Proc.Parameters.Clear;
  dm001.Proc.ProcedureName:='[dbo].[EXAMPLE]';
  dm001.Proc.Parameters.AddParameter.Name:='@idEXAMPLE';
  dm001.Proc.Parameters.ParamByName('@id').DataType:="example";
  dm001.Proc.Parameters.ParamByName('@id').Value:="example";
  dm001.Proc.Open;
C中的示例

私有void bw_DoWorkobject发送方,DoWorkEventArgs e { BackgroundWorker worker=发件人作为BackgroundWorker;
对于int i=1;对于select请求,使用TADOQuery测试i

1将ExecuteOptions eoAsyncExecute和AsAsAsyncFetch更改为True

2使用event OnFetchProgress确定异步请求是否已完成。如果Progress=MaxProgress,则异步请求已完成


使用Delphi 2007和2009进行测试。

使用TADOQuery对select请求进行测试

1将ExecuteOptions eoAsyncExecute和AsAsAsyncFetch更改为True

2使用event OnFetchProgress确定异步请求是否已完成。如果Progress=MaxProgress,则异步请求已完成


使用Delphi 2007和2009进行测试。

BackgroundWorker只不过是一个线程实现。但是有一些组件在Delphi上模拟了这种行为,比如说

BackgroundWorker只不过是一个线程实现。但是有一些组件在Delphi上模拟了这种行为,比如说

,您可以尝试一种我们的方法它在Delphi2009发布后并没有得到更大的发展,但无论如何你们都不会使用它


您可以尝试一个备受尊敬的AsyncCalls单元。它在Delphi2009发布后并没有得到更多的开发,但您无论如何都不会使用它


TThread。它在帮助文件中。您的Delphi Demos文件夹中有一个示例,在Demos\DelphiWin32\VCLWin32\Threads中。在D2006中,您需要使用线程。创建一个从TThread派生的类。如果您使用的是现代Delphi,您可以使用OTL。感谢您的帮助,我将检查它。另一个好例子:我的大多数用例都是从TThread派生的使用一个线程在后台做一些事情,偶尔会有反馈,所以我想知道为什么这不是一个组件。TThread。它在帮助文件中。Delphi Demos文件夹中有一个示例,在Demos\DelphiWin32\VCLWin32\Threads中。在D2006中,你需要使用一个线程。创建一个从TThread派生的类。如果你是使用现代的Delphi,您可以使用OTL。感谢您的帮助,我将检查它。另一个好例子:我的大多数用例都是从tthread派生出来的,使用一个线程在后台做一些事情,偶尔会有反馈,所以我想知道为什么这没有首先成为一个组件他的组件,我发现它叫TerminateThread:一个总是导致未定义行为的大“不”号。这结束了我的调查,因为现在我不相信这个组件在没有彻底审查/修订的情况下会做正确的事情。请看:在检查这个组件的源代码的30秒内,我发现它叫TerminateThread:一个大“不”号ays会导致未定义的行为。这结束了我的调查,因为现在我不相信此组件在未进行彻底审查/修订的情况下会做正确的事情。请参阅: