送分(100分)

Q

qlw

Unregistered / Unconfirmed
GUEST, unregistred user!
请大家邦忙看看这个问题:
过程的参数
http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=205597
我是想做一个数据库的自动生成的录入界面,封装在函数(dll)而不是窗体
类中,这样到处都能调。现在人家催我交东西
在两处答都行
 
问题贴上来
我要调一个过程,过程又以另一个过程为参数...这样说吧,
一个过程是动态生成窗体,另一个过程就是窗体的事件,
好象 onDblClick:=MyClick;
怎么写都报错,c中有函数指针,delphi里怎么做呢?
分数不多 聊表心意

简单说我想写个函数,自动生成一系列元件,没有form1..这些东西,
元件的parent属性(指form1),OnClick事件等都当参数传进去。我对
delphi不太熟,各位能否说的详细些,谢谢!
顺便说一下,wlq,qlw都是我
 
{
Test.Click可以是任何一个对象的过程,必须是
TNotifyEvent=procedure (Sender:TObject) of object;类型,
当然对其他类型(非TNotifyEvent)又要再写另外的函数,
}

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TMyNotifyEvent=procedure (Sender:TObject);
TForm1 = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure MyCreate(Event: TNotifyEvent);
public
{ Public declarations }
end;

TTest=class(TComponent)
procedure click(sender:TObject);
end;

var
Form1: TForm1;
Test:TTest;
implementation
{$R *.DFM}
{ TTest }
procedure TTest.click(sender: TObject);
begin
ShowMessage('TTest.Click');
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Test:=TTest.Create(Self);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
MyCreate(Test.Click);
end;

procedure TForm1.MyCreate(Event: TNotifyEvent);
var
B:TButton;
begin
B:=TButton.Create(Self);
B.Parent:=Self;
B.OnClick:=Event;
end;

end.
 
多人接受答案了。
 
顶部