讨一个多线程编程的实例 ( 积分: 50 )

  • 主题发起人 主题发起人 su3008
  • 开始时间 开始时间
S

su3008

Unregistered / Unconfirmed
GUEST, unregistred user!
我是刚开始学编程的,最近在做一个小系统,因为有涉及到多线程的问题,解决不了,希望各位大哥能帮忙小弟一把,发个简单的实例让我理解一下,先谢谢了.
 
我是刚开始学编程的,最近在做一个小系统,因为有涉及到多线程的问题,解决不了,希望各位大哥能帮忙小弟一把,发个简单的实例让我理解一下,先谢谢了.
 
忘了把邮箱写出来,如果哪位好心人士有实例,请发到subin3008@163.com.谢谢
 
Delphi自带的Demo里有。
就是那个Thread什么的。
 
我也在学多线程,发个例子给你
 
一个多县城提取数据库数据的列子
unit Unit2;
interface
uses
Classes,ADODB,SysUtils,ActiveX;

type
Ta = class(TThread)
constructor Create(ado:Tadoquery;s:string);
destructor Destroy;override;

private
a:Tadoquery;
ss:string;
{ Private declarations }
protected
procedure Execute;
override;
end;

implementation
uses unit1;
{ Important: Methods and properties of objects in VCL or CLX can only be used
in a method called using Synchronize, for example,
Synchronize(UpdateCaption);
and UpdateCaption could look like,
procedure Ta.UpdateCaption;
begin
Form1.Caption := 'Updated in a thread';
end;
}
{ Ta }
constructor Ta.Create(ado:Tadoquery;s:string);
begin
inherited create(true);
FreeOnTerminate:=true;
a:=ado;
ss:=s;
Resume;
end;
procedure Ta.Execute;
begin
CoInitialize(nil);//必须的
sleep(5000);
a.SQL.Add(ss);
try
a.Open;
except
raise
end;
end;
destructor Ta.Destroy;
begin
a:=nil;
inherited Destroy;
end;
主窗体的调用
var t:Ta;
begin
t:=Ta.Create(adoquery1,'select * from 成绩');
 
例程己发送,请查收!
 
多人接受答案了。
 
后退
顶部