我想自己开发一个类,其中要用到一个可视化的第三方控件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后能激发事件,但是我的却不行。为什么?
顺便问一下,如果在一个自定义类中要使用一个控件,具体的要咋写,能否使用该控件的事件方法阿,有具体代码的让小弟学习一下,谢谢!
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后能激发事件,但是我的却不行。为什么?
顺便问一下,如果在一个自定义类中要使用一个控件,具体的要咋写,能否使用该控件的事件方法阿,有具体代码的让小弟学习一下,谢谢!
在Create创建时将它们一并创建,然后可以利用它们!
注意得在Destroy中释放他们