新手问个比较基础跟有点白痴的问题~不要笑
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
end.
不是很懂为什么有的程序在type里申明自定义函数,有的在var里申明自定义函数 ,有的还在public ..end;下面那块空白处申明函数 ,求在这3个地方申明函数的用途意义
[解决办法]
unit unit1;
...
type
TForm1 = class(TForm)
private
procedure A1();
public
procedure A2();
end;
procedure A3();
var
Form1: TForm1;
procedure A4();
implementation
{$R *.dfm}
procedure TForm1.A1();
begin
end;
procedure TForm1.A2();
begin
end;
procedure A3();
begin
end;
procedure A4();
begin
end;
主要都是作用域名不同
A1,A2:
相同点是:属于类TForm1的函数,使用时,本单元直接使用,实现的过程要加上TForm1,比如:TForm1.A1,TForm1.A2
不同点是:A1(private私有),只能在本单元使用,A2(public公开,即对任何单元是公开的),可以在其它单元使用(Form1.A2)
A3,A4:
这2个位置是一样的,都是全局的函数,不属于类TForm1的,只是属于单元unit1,本单元直接使用,其它单元要加上引用,如:unit1.A3,unit1.A4(用uses unit1后可以直接用A3,A4)
如果多个单元,有相同的命名函数,不加引用的話,按uses顺序调用前面的一个