事件连接到其它类问题,希望熟悉DELPHI对象模型的富翁指导 ( 积分: 100 )

  • 主题发起人 主题发起人 jshyhzj
  • 开始时间 开始时间
J

jshyhzj

Unregistered / Unconfirmed
GUEST, unregistred user!
事件连接到其它类问题,希望熟悉DELPHI对象模型的富翁指导

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button2Click(Sender: TObject);
end;

TTest = class
public
procedure TestClick(Sender: TObject);
procedure toButton1OnClick;
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
var
Test : TTest;
begin
Test := TTest.Create
//加不加此行Button1.Click反应不同!
Test.toButton1OnClick;
end;

procedure TTest.TestClick(Sender: TObject);
begin
showmessage(self.ClassName);
end;

procedure TTest.toButton1OnClick;
begin
Form1.Button1.OnClick := self.TestClick;
end;

end.
 
事件连接到其它类问题,希望熟悉DELPHI对象模型的富翁指导

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button2Click(Sender: TObject);
end;

TTest = class
public
procedure TestClick(Sender: TObject);
procedure toButton1OnClick;
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
var
Test : TTest;
begin
Test := TTest.Create
//加不加此行Button1.Click反应不同!
Test.toButton1OnClick;
end;

procedure TTest.TestClick(Sender: TObject);
begin
showmessage(self.ClassName);
end;

procedure TTest.toButton1OnClick;
begin
Form1.Button1.OnClick := self.TestClick;
end;

end.
 
在Delphi中,同个单元中的类都是友元,所以TTest和TForm1可以互访

当你没有Create一个TTest实例的时候,self就是TForm1,如果建立了就是对应TTest的对象,这样解释可以不
 
你的问题呢?怎么只贴了代码还没提问?
 
楼主对OOP的理解一塌糊涂,在这里你是弄不清楚的,找本书看看吧
 
来自:醒不来, 时间:2005-8-11 13:22:26, ID:3163460
楼主对OOP的理解一塌糊涂,在这里你是弄不清楚的,找本书看看吧

??
比我还清楚不太多呵,至少你没我清楚
 
关注技术的似乎不多了,自己再顶一下
 
后退
顶部