📄 u_threade.pas
字号:
unit U_Threade;
interface
uses
Forms, Windows, Classes, Controls, SysUtils, WIrCOMMSocket;
type
TSendThread = class(TThread)
private
{ Private declarations }
FIsFinished: Boolean;
FIrSocket: TWIrCOMMSocket;
protected
TxData: String;
procedure Execute; override;
procedure ExecuteEx;
public
constructor Create(SendData: string;IrSocket: TWIrCOMMSocket);
published
property Finished: Boolean read FIsFinished;
end;
implementation
{ 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 TWaitThread.UpdateCaption;
begin
Form1.Caption := 'Updated in a thread';
end; }
{ TWaitThread }
constructor TSendThread.Create(SendData: string;IrSocket: TWIrCOMMSocket);
begin
TxData := SendData;
FIsFinished := False;
FIrSocket := IrSocket;
inherited Create(False);
end;
procedure TSendThread.Execute;
begin
Synchronize(ExecuteEx);
end;
procedure TSendThread.ExecuteEx;
begin
Screen.Cursor := crAppStart;
//-------------------------------
Try
FIrSocket.SendStr(TxData + #13);
Finally
Screen.Cursor := crDefault;
FIsFinished := True;
End;
//-------------------------------
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -