你直接在你的自定义过程中调用控件的事件不就OK了
procedure TForm1.MSComm1Comm(Sender: TObject);
begin
mscomm1.OnComm(参数我不知道,自己写);
end;
不过我写串口程序,一般不用MSComm控件,我用的是VCL库(第三方的)串口控件
procedure TForm1.MSComm1Comm(Sender: TObject);
begin
mscomm1.OnComm(参数我不知道,自己写);
end;
不过我写串口程序,一般不用MSComm控件,我用的是VCL库(第三方的)串口控件
type
TDownLine = class(TThread)
private
{ Private declarations }
YNDel:Boolean;
YNInStringList:Boolean;
FNMFTP: TNMFTP;
protected
procedure MFTPPacketRecvd(Sender: TObject);
procedure MFTPConnect(Sender: TObject);
procedure MFTPDisconnect(Sender: TObject);
procedure FNMFTPError(Sender: TComponent; Errno: Word;
Errmsg: String); procedure Execute; override;
destructor Destroy;override;
public
constructor Create;
end;
Var
DownThread:TDownLine;
YNDisConnect:Boolean;implementation
uses
Main,DataM,UnitMusicNoSelect,UnitMusicLook,UnitVideoLook,ToolsUnit;constructor TDownLine.Create;
begin
FNMFTP:=TNMFTP.Create(Application);
FNMFTP.OnPacketRecvd:=MFTPPacketRecvd;
FNMFTP.OnConnect:=MFTPConnect;
FNMFTP.OnDisconnect:=MFTPDisconnect;
FNMFTP.Onerror:=FNMFTPError;
procedure TForm1.MSComm1Comm(Sender: TObject);
已经是Mscomm的事件了,可以直接在里面处理了;
我需要的是:
procedure TTest.Comm1Comm(Sender:TObject);
begin
//处理接收数据
end;
这个过程,怎么样才能够与线程类中定义MSComm控件的OnComm事件连接在一起?
因为:MSCOMM中触发的OnComm()事件,他是控件自带的一个事件,我们在上面
写的是我们自己的一个过程。
谢谢楼上各位热心的兄弟,谢谢 zzh54zzh(我也要补钙!)
你们的解答让我茅塞顿开,深感功力太浅
再次谢谢各位