读书人

delphi 的初级有关问题!

发布时间: 2012-03-25 20:55:17 作者: rapoo

delphi 的初级问题!!
type
TFrameForm = class(TForm)
MainMenu1: TMainMenu;
File1: TMenuItem;
New1: TMenuItem;
Open1: TMenuItem;
N1: TMenuItem;
Exit1: TMenuItem;
Window1: TMenuItem;
Tile1: TMenuItem;
Cascade1: TMenuItem;
Arrangeicons1: TMenuItem;
OpenFileDialog: TOpenDialog;
procedure Exit1Click(Sender: TObject);
procedure New1Click(Sender: TObject);
procedure Tile1Click(Sender: TObject);
procedure Cascade1Click(Sender: TObject);
procedure Arrangeicons1Click(Sender: TObject);
procedure Open1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

下面类型申明到底是公有?还是私有?(怎么理解啊?)
MainMenu1: TMainMenu;
File1: TMenuItem;
New1: TMenuItem;
Open1: TMenuItem;
N1: TMenuItem;
Exit1: TMenuItem;
Window1: TMenuItem;
Tile1: TMenuItem;
Cascade1: TMenuItem;
Arrangeicons1: TMenuItem;
OpenFileDialog: TOpenDialog;
procedure Exit1Click(Sender: TObject);
procedure New1Click(Sender: TObject);
procedure Tile1Click(Sender: TObject);
procedure Cascade1Click(Sender: TObject);
procedure Arrangeicons1Click(Sender: TObject);
procedure Open1Click(Sender: TObject);

----------------------------------------

program TextEdit;

uses
Forms,
MDIFrame in 'MDIFrame.pas ' {FrameForm},
MDIEdit in 'MDIEdit.pas ' {EditForm};

{$R *.RES}

begin
Application.Initialize;
Application.CreateForm(TFrameForm, FrameForm);
Application.Run;
end.

怎样在 Application.Initialize 函数体内写,我找来找去都没有发现可以写的地方!

[解决办法]
1.这些默认为published
2.Application.Initialize是TApplication类的一个方法,你不能直接在里边写代码的(相当于修改了这个方法)
[解决办法]
说得简单点,就是你能在Object inspector窗体里看到的属性及事件,都是在声明在published区的,即带有RTTI的public
[解决办法]
首先得声明一个事件类型,如



TMyNotify = procedure (Sender:TObject) of object;

然后
private
FMyEvent:TMyNotify;
published
property OnMyEvent:TMyNotify read FMyEvent write FMyEvent;

读书人网 >.NET

热点推荐