你直接在你的自定义过程中调用控件的事件不就OK了
procedure TForm1.MSComm1Comm(Sender: TObject);
begin
  mscomm1.OnComm(参数我不知道,自己写);
end;
不过我写串口程序,一般不用MSComm控件,我用的是VCL库(第三方的)串口控件

解决方案 »

  1.   

    这是我在线程里调用控件的事件,你可以在你的类里调用控件的事件。
    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;
      

  2.   

    在上面的例子中:
    procedure TForm1.MSComm1Comm(Sender: TObject);
    已经是Mscomm的事件了,可以直接在里面处理了;
    我需要的是:
    procedure TTest.Comm1Comm(Sender:TObject);
    begin
       //处理接收数据
    end;
    这个过程,怎么样才能够与线程类中定义MSComm控件的OnComm事件连接在一起?
    因为:MSCOMM中触发的OnComm()事件,他是控件自带的一个事件,我们在上面
    写的是我们自己的一个过程。
      

  3.   


    谢谢楼上各位热心的兄弟,谢谢 zzh54zzh(我也要补钙!) 
    你们的解答让我茅塞顿开,深感功力太浅
    再次谢谢各位