请给出原因和解答unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
Tfrm = class(TForm)
private
FParentRect: TRect;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
property ParentRect: TRect read FParentRect write FParentRect;
end; TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
Ffrm: Tfrm;implementation{$R *.dfm}constructor Tfrm.Create(AOwner: TComponent);
begin
inherited;
end;destructor Tfrm.Destroy;
begin
inherited;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
if not Assigned(Ffrm) then
begin
Ffrm := Tfrm.Create(self);
Ffrm.Parent := self;
end;
Ffrm.Show;
end;end.
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
Tfrm = class(TForm)
private
FParentRect: TRect;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
property ParentRect: TRect read FParentRect write FParentRect;
end; TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
Ffrm: Tfrm;implementation{$R *.dfm}constructor Tfrm.Create(AOwner: TComponent);
begin
inherited;
end;destructor Tfrm.Destroy;
begin
inherited;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
if not Assigned(Ffrm) then
begin
Ffrm := Tfrm.Create(self);
Ffrm.Parent := self;
end;
Ffrm.Show;
end;end.
Resource Tfrm not found.
你把Tfrm和TForm1的定义分别放在单独的一个单元里面,然后在TForm1所在的Unit里面uses Tfrm所在的Unit。
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; Tfrm = class(TForm1)
private
FParentRect: TRect;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
property ParentRect: TRect read FParentRect write FParentRect;
end;
var
Form1: TForm1;implementation{$R *.dfm}constructor Tfrm.Create(AOwner: TComponent);
begin
inherited;
end;destructor Tfrm.Destroy;
begin
inherited;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Ffrm: Tfrm;
begin
Ffrm := Tfrm.Create(nil);
Ffrm.Left := 100;
Ffrm.Top := 100;
Ffrm.Parent := self;
Ffrm.Show;
end;end.