我想自己开发一个类,其中要用到一个可视化的第三方控件TwodSSH,具体代码如下:
unit network2;interfaceuses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, OleCtrls, WODSSHLib_TLB, Sockets;
 type
 Net = class(TObject) function  Login_on(user:String;pass:String;host_name:String):smallint;
  public constructor Create(AOwner:TComponent);
 private
 procedure mySSHConnected(Sender: TObject; ErrorCode: Smallint;
      const ErrorText: WideString);
end;
 var
   myNet:Net;
   myerror:smallint;
    mySSH:TwodSSH;
 implementation  constructor Net.Create(AOwner:TComponent);
   begin
     mySSH := TwodSSH.Create(AOwner);
   end;   procedure Net.mySSHConnected(Sender: TObject; ErrorCode: Smallint;const ErrorText: WideString);
      begin
        myerror := ErrorCode;
      end;   function  Net.Login_on(user:String;pass:String;host_name:String):smallint;
   begin
      mySSH.Hostname := host_name;
      mySSH.Login := user;
      mySSH.Password := pass;
      mySSH.Blocking := true;
      myerror :=-1;
      try       mySSH.Connect;
       result :=  myerror;
      except
       result := myerror;      end;   end;end.
其中mySSHConnected(Sender: TObject; ErrorCode: Smallint;const ErrorText: WideString);是该控件的一个事件函数,在connect后能激发事件,但是我的却不行。为什么?
顺便问一下,如果在一个自定义类中要使用一个控件,具体的要咋写,能否使用该控件的事件方法阿,有具体代码的让小弟学习一下,谢谢!

解决方案 »

  1.   

    给控件的事件赋值呀mySSH.OnConnected := mySSHConnected;
      

  2.   

    mySSHConnected能捕获了,但是现在的问题的是我在一个form中调用该类,为什mySSHConnected的事件函数中的ErrorCode没有变化,这个问题解决马上结帖,谢谢!
      

  3.   

    将想用的控件的类加为自己的私有成员
    在Create创建时将它们一并创建,然后可以利用它们!
    注意得在Destroy中释放他们