摘要: 当创建了多个线程,并且多个线程都要访问同一资源,,就有可能出现混乱,于是用Synchronize来控制,使同一时间只有一个线程使用那部分资源,Synchronize参数里面的代码就是多线程需要公共的代码!线程是进程内一个相对独立的、可调度的执行单元。一个应用可以有一个主线程,一个主线程可以有多个子线 阅读全文
posted @ 2019-11-06 15:09 木头侠 阅读(464) 评论(0) 推荐(0) 编辑
摘要: 在了解多线程之前我们先了解一下进程和线程的关系 一个程序至少有一个主进程,一个进程至少有一个线程。 为了保证线程的安全性请大家看看下面介绍 Delphi多线程同步的一些处理方案大家可以参考:http://www.cr173.com/html/16747_1.html 主线程又程为UI线程。 进程和线 阅读全文
posted @ 2019-11-06 15:07 木头侠 阅读(1264) 评论(0) 推荐(0) 编辑
摘要: MSComm控件具有丰富的与串口通信密切相关的属性,提供了对串口进行的多种操作,进而使串行通信变得十分简便。MSComm的控件属性较多,常用的属性如下:1).CommPort:设置或返回串行端口号,缺省为1。2).Setting:设置或返回串口通信参数,格式为“波特率,奇偶校验位,数据位,停止位”。 阅读全文
posted @ 2019-11-06 14:57 木头侠 阅读(1245) 评论(0) 推荐(0) 编辑
摘要: ADO多线程数据库查询通常会出现以下问题: 1、CoInitialize 没有调用(CoInitialize was not called);所以,在使用任何dbGo对象前,必须手 调用CoInitialize和CoUninitialize。调用CoInitialize失败会产生"CoInitial 阅读全文
posted @ 2019-11-06 14:55 木头侠 阅读(1043) 评论(0) 推荐(0) 编辑
摘要: 先看一个非多线程的例子, 代码执行时不能进行其它操作(譬如拖动窗体): {自定义方法: 在窗体上绘制...} procedure MyMethod; var i: Integer; begin for i := 0 to 500000 do begin Form1.Canvas.Lock; Form 阅读全文
posted @ 2019-11-06 14:38 木头侠 阅读(983) 评论(0) 推荐(0) 编辑
摘要: 代码很简单: 代码很简单: 1 2 3 4 DBGrideh.StartLoadingStatus(' Loading ... '); Sleep(500); DBGrideh.FinishLoadingStatus; 做下变动: 1 2 3 DBGrideh.StartLoadingStatus( 阅读全文
posted @ 2019-11-06 11:08 木头侠 阅读(228) 评论(0) 推荐(0) 编辑