您的当前位置:我要购书网>在线阅读>Delphi/Perl

delphi多线程程序示例(与.net一样简单)

来源:互联网  作者:我要购书网信息中心  发布:我要购物网收集整理  发布时间:2006-8-31 人气:243

(*----下面这个程序介绍了我们在使用线程及未使用线程二种情况下,运行该程序的反应。当点UsedThread按钮时,则建立一个线程,这时我们可以在程序进行计算的同时,改变窗体的尺寸及移动它。当按下NoUsedThread按钮时,不建立线程,我们会发现在程序没有计算完之前根本不能做其它任何事情!

unit Unit1;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;

type TForm1 = class(TForm) UsedThread: TBitBtn; NoUsedThread: TBitBtn; procedure UsedThreadClick(Sender: TObject); procedure NoUsedThreadClick(Sender: TObject); private { Private declarations } public { Public declarations } end;

var Form1: TForm1;

implementation

{$R *.dfm}

function MyThreadFunc(P:pointer):Longint;stdcall;var i:longint; DC:HDC; S:string;begin DC:=GetDC(Form1.Handle); for i:=0 to 500000 do begin S:=Inttostr(i); Textout(DC,10,10,Pchar(S),length(S)); end; ReleaseDC(Form1.Handle,DC);end;

procedure TForm1.UsedThreadClick(Sender: TObject);var hThread:Thandle;//定义一个句柄 ThreadID:DWord;begin//创建线程,同时线程函数被调用 hthread:=CreateThread(nil,0,@MyThreadfunc,nil,0,ThreadID); if hThread=0 then messagebox(Handle,'Didn’tCreateaThread',nil,MB_OK);end;

procedure TForm1.NoUsedThreadClick(Sender: TObject);begin MyThreadfunc(nil); //没有创建线程时,直接调用线程函数end;end.

相关文章
· delphi下treeview控件基于节点编号的访问
· delphi之数组
· delphi mdi应用程序高级技巧三则(一)
· delphi命令行参数
· delphi图书目录
· delphi多线程程序示例(与.net一样简单)
· delphi编程技巧集
· developing com components us..
· delphi中的包(一):关于exe的编译、连接和执行
· developing com components us..
热点文章
%>
· creating user controls
· 提高fastreplace速度 (fstrrep.pas)
· asc ii 完整码表及简介
· 自动生成拼音(汉字反查到拼音)
· sql2000无法安装的解决办法
· 浏览器集成教学 自定义浏览器
· vc++技术内幕(第四版)笔记(第7章)
· mysql5.0中文乱码解决方案
· sql server日期计算
· vc下利用ado连接access数据库
 淘宝旺旺:我要购书网上书店『图书目录
本购书中心地址: 杭州市延安路111号清波商厦南楼D座(总部) 上海市闸北区老沪太路网上购书中心(沪部),  邮编:310002
电子邮件:books@51goushu.com  经营许可证编号:沪ICP备06038574号
版权所有 2003-2008 © All Rights Reserved .购书网