Delphi의 함수 정의 및 선언 위치

2308 단어 Delphi
함수(또는 프로세스) A가 함수(또는 프로세스) B에 정의되기 전에 함수 B는 함수 A를 호출하고 컴파일에 성공할 수 있다. 예를 들어 아래의
procedure TForm1.btn1Click(Sender: TObject); 및 function showstr:string;
unit Test;



interface



uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls;





type

  TForm1 = class(TForm)

    btn1: TButton;

    procedure btn1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;



var

  Form1: TForm1;



implementation



{$R *.dfm}





function showstr: string;

begin

  Result:= 'lala';

end;



procedure TForm1.btn1Click(Sender: TObject);

begin

   ShowMessage(showstr);

end;



end.


 
함수(또는 프로세스) A가 함수(또는 프로세스) B 다음에 정의되면 함수 B가 함수 A를 호출하면 컴파일할 때 다음 예와 같이 오류가 발생합니다.
아니면 procedure TForm 1.btn1Click(Sender: TObject); 및 function showstr:string;
unit Test;



interface



uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls;





type

  TForm1 = class(TForm)

    btn1: TButton;

    procedure btn1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;



var

  Form1: TForm1;



implementation



{$R *.dfm}



procedure TForm1.btn1Click(Sender: TObject);

begin

   ShowMessage(showstr);

end;



function showstr: string;      //showstr TForm1.btn1Click   ,           

begin

  Result:= 'lala';

end;



end.


함수(또는 프로세스) A가 함수(또는 프로세스) B 다음에 정의되고 함수 B가 함수 A를 호출하여 컴파일할 때 오류를 보고하지 않으려면 지금 B 앞에서 A를 성명한 다음에 B에서 A를 호출해야 한다. 이때 A가 B 이전에 정의했든 B 다음에 정의했든 모두 컴파일에 성공할 수 있다.아래의 예와 같다
unit Test;



interface



uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls;



function showstr: string;    //   interface    





type

  TForm1 = class(TForm)

    btn1: TButton;

    procedure btn1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;



var

  Form1: TForm1;



implementation



{$R *.dfm}





function showstr: string;

begin

  Result:= 'lala';

end;



procedure TForm1.btn1Click(Sender: TObject);

begin

   ShowMessage(showstr);

end;



end.


좋은 웹페이지 즐겨찾기