program Greeting;
uses
Forms, Unit1 in 'Unit1.pas',Unit2 in 'Unit2.pas';
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1,Form1);
Application.CreateForm(TForm2,Form2);
Application.Run;
end.unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs,StdCtrls;
type
TForm1 = class(TForm)
Button1:TButton;
procedure Button1Click(Sender:TObject);
end;Var
Form1: TForm1;implementation
uses Unit2;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.ShowModal;
end;
end.unit Unit2;interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs,StdCtrls;
type
TForm2=class(TForm)
Label1:TLabel;
CancelButton:TButton;
procedure CancelButtonClick(sender:TObject);
procedure FormClose(Sender: TObject;var Action:TCloseAction);
end;
var
Form2: TForm2;
implementation
uses Unit1;
{$R *.dfm}
procedure TForm2.CancelButtonClick(sender: TObject);
begin
Form2.Close;
end;
end.1个工程,2个单元
编译的时候,报两处错
[DCC Error] Unit2.pas(12): E2065 Unsatisfied forward or external declaration: 'TForm2.FormClose'
----Unit2的procedure FormClose(Sender: TObject;var Action:TCloseAction);[DCC Fatal Error] Project1.dpr(3): F2063 Could not compile used unit 'Unit1.pas'
----project1的uses
Forms, Unit1 in 'Unit1.pas',Unit2 in 'Unit2.pas';
unit Unit2;interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs,StdCtrls;
type
TForm2=class(TForm)
Label1:TLabel;
CancelButton:TButton;
procedure CancelButtonClick(sender:TObject);
//procedure FormClose(Sender: TObject;var Action:TCloseAction); //把这一句注释掉试试
end;
var
Form2: TForm2;
implementation
uses Unit1;
{$R *.dfm}
procedure TForm2.CancelButtonClick(sender: TObject);
begin
Form2.Close;
end;
end.
的函数体呢
Form2.Close;==》Close试试