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

首頁 > 編程 > Delphi > 正文

DELPHI下的多線程程序設計(2)

2019-11-18 18:44:33
字體:
來源:轉載
供稿:網友
end;
  end;
  PRocedureTBounceThread.Execute;
  begin
  WhilenotTerminateddo
  begin
  Synchronize(MoveShape);
  end;
  end;
  constructorTBounceThread.Create(Suspended:Boolean;Shape:TShape;XSpeed,YSpeed:Integer);
  begin
  inheritedCreate(Suspended);
  FShape:ΚShape;
  FXSpeed:ΚXSpeed;{X軸走向的速度}
  FYSpeed:ΚYSpeed;{Y軸走向的速度}
  FreeOnTerminate:ΚTrue;
  end;
  end.
  這是一個多線程的碰碰球游戲,你可以有多個不同的球,它們分屬不同的線程,各自獨立的在屏幕上碰撞。顯然,由于多個球運行的顯示會同時操作VCL資源,為了安全,我們在Execute過程中的執行部分加入了Synchronize(MoveShape)來調用MoveShape過程,實際上,在任何需要操作VCL資源的地方,例如窗體、位圖,都應加入Synchronize調用。
  執行時我們可以新建一個程序,然后在USES部分加入以上的BncThrd單元,再在它的窗體FORM1上加入兩個Shape控件Shape1和Shape2,Shape1可以是一個矩形而Shape2是一個圓。加入以下的代碼就可以讓矩形和圓動起來。
  procedureTForm1.Button1Click(Sender:TObject);
  begin
  TBounceThread.Create(False,Shape1,1,2);
  TBounceThread.Create(False,Shape2,2,3);
  end;


上一篇:在Delphi中編寫控件的基本方法

下一篇:DELPHI下的多線程程序設計(1)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 遵义县| 伊通| 红安县| 仁寿县| 抚远县| 临沂市| 和龙市| 莱西市| 邢台县| 建昌县| 新宾| 福州市| 招远市| 桐庐县| 屏东县| 河东区| 疏附县| 南城县| 黑龙江省| 沙河市| 察隅县| 大城县| 和硕县| 高唐县| 和田市| 昆山市| 长武县| 涟水县| 灵宝市| 钟山县| 东台市| 青神县| 泗阳县| 镇沅| 绥江县| 郑州市| 溧阳市| 元朗区| 明光市| 兴国县| 兴仁县|