国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Delphi > 正文

delphi多線程程序示例(與.net一樣簡單)

2019-11-18 18:04:58
字體:
供稿:網(wǎng)友
 

(*----下面這個程序介紹了我們在使用線程及未使用線程二種情況下,運行該程序的反
應(yīng)。當(dāng)點UsedThread按鈕時,則建立一個線程,這時我們可以在程序進(jìn)行計算的同
時,改變窗體的尺寸及移動它。當(dāng)按下NoUsedThread按鈕時,不建立線程,我們會發(fā)
現(xiàn)在程序沒有計算完之前根本不能做其它任何事情!


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
//創(chuàng)建線程,同時線程函數(shù)被調(diào)用
  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);
  //沒有創(chuàng)建線程時,直接調(diào)用線程函數(shù)
end;
end.


上一篇:對Delphi接口的又一疑惑:怎么會自動釋構(gòu)的?

下一篇:Delphi中的DLL封裝和調(diào)用對象編寫碰到的問題

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
學(xué)習(xí)交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網(wǎng)友關(guān)注

主站蜘蛛池模板: 襄垣县| 东海县| 富平县| 景泰县| 汉源县| 东乡族自治县| 丁青县| 潮安县| 株洲市| 静安区| 错那县| 泰宁县| 敖汉旗| 大渡口区| 屏边| 法库县| 易门县| 丰宁| 东乡县| 保山市| 贡觉县| 南丹县| 江达县| 贵阳市| 梁山县| 扎兰屯市| 鹰潭市| 忻州市| 岗巴县| 井冈山市| 东城区| 玉门市| 苍溪县| 驻马店市| 依兰县| 繁昌县| 定陶县| 辽阳县| 龙门县| 鄢陵县| 涞源县|