为什么提示"Resource TMyForm not found"(100分)

  • 主题发起人 主题发起人 yzykjh
  • 开始时间 开始时间
Y

yzykjh

Unregistered / Unconfirmed
GUEST, unregistred user!
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, UMyVCL;
type
TForm1 = class(TMyForm) //没有出现"Resource TMyForm not found"提示
Button1: TButton;
Label1: TLabel;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var bl: TMyForm;
begin
bl:=TMyForm.Create(Self); //提示"Resource TMyForm not found"
bl.Showmodal; //请问如果解决?
freeandnil(bl);
end;

end.

--------------
unit UMyVCL;
interface
uses Windows, Forms, Classes, Dialogs;
type
TMyForm = Class(TForm)
private
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;
implementation
{ TMyForm }
constructor TMyForm.Create(AOwner: TComponent);
begin
inherited;
Font.Name:='宋体';
Font.Size:=9;
FormStyle:=fsStayOnTop;
Position:=poMainFormCenter;
ShowHint:=True;
...
end;

destructor TMyForm.Destroy;
begin
inherited;
end;

end.
 
请大家帮忙解决!
 
bl:=TMyForm.Create(application);或者bl:=TMyForm.Create(nil);
//用这句试试看。因为self 是TMyForm 的子类
子能作为父类的拥有者吗? 我的想法就是这样的了,也不知道对不对.呵呵!
 
建議把所有的引用單元都放到implementation下.
implementation
{$R *.dfm}
uses UMyVCL;
 
kk2000和kouchun提示的解决办法还是不能解决问题.
 
constructor TMyForm.Create(AOwner: TComponent);
begin
inherited;改成:inherited Create(AOwner);
Font.Name:='宋体';
Font.Size:=9;
 
你在单元文件 《UMyVCL》的实现部分 implementation 删除了如下一句引入资源文件
{$R *.dfm}
此语句自动关联与UMyVCL对应的窗体文件
 
UMyVCL单元是没有 {$R *.dfm} 这行的. :)
 
多人接受答案了。
 
后退
顶部