第一天学delphi,解决就给分,在线等

softstarxy 2005-03-19 12:41:21
unit Unit1;


interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;

type
TFMainForm= class(TForm)
procedure FormClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
FMainForm TFMainForm

implementation

uses Unit2;

{$R *.dfm}

procedure TFMainFormFormClick(Sender: TObject);
begin
SubForm.show;//显示子窗体
end;

end.

这个是delphi自动生成的代码,请问那里错了,
我在书上看见,从一个类创建对象的语法是:
var
MyObj:TMyClass;
但是为什么delphi自动生成 的是
var
FMainForm TFMainForm
?????
...全文
147 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
何鲁青 2005-03-19
  • 打赏
  • 举报
回复
jjyy_cc(jjyy)
你说的是动态创建窗口,但是楼住的窗口已经在show之前创建好了,所以没有必要再这么做了;
现在不知道,提示的时什么错误???
softstarxy 2005-03-19
  • 打赏
  • 举报
回复
另外问一个问题,在Object Inspector里面只显示一个窗体,当我要改另外一个窗体的属性的时候无法在这里选择,只有把第二窗体移动到最前面很不方便,请问如何把另外一个窗体加入这个下拉式的选择框里面
jjyy_cc 2005-03-19
  • 打赏
  • 举报
回复
subForm = TSubForm.Create(self)
SubForm.Show

说明:
1. 在使用子窗体前,首先要创建它
2.然后显示
3.当不再使用窗体后,请记住要再调用子窗体的Free方法释放它。
softstarxy 2005-03-19
  • 打赏
  • 举报
回复
to:鉴之小河
uses进去了的呀,我另外还建了一个SubForm


unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;

type
TSubForm = class(TForm)
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;

var
SubForm: TSubForm;

implementation

{$R *.dfm}

procedure TSubForm.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
SubForm.Close;
end;

end.
何鲁青 2005-03-19
  • 打赏
  • 举报
回复
FMainForm TFMainForm //中间应该有个“:”的吧...
何鲁青 2005-03-19
  • 打赏
  • 举报
回复
SubForm.show;//显示子窗体
错在这个地方,你的这个窗口在那里建的?
uses进去了吗???
firstshine 2005-03-19
  • 打赏
  • 举报
回复
var
MyObj:TMyClass;
是对的
xiaoyaozgc 2005-03-19
  • 打赏
  • 举报
回复
FMainForm :TFMainForm是对的;以下代码在Delphi7下调试通过:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;

type
TMainForm = class(TForm)
procedure FormClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
MainForm: TMainForm;

implementation
uses Unit2;
{$R *.dfm}

procedure TMainForm.FormClick(Sender: TObject);
begin
//SubForm:=TSubForm.Create(nil);
subForm.Show;
end;

end.



////////////////////////////Unit2////////////////////////////////////////
unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;

type
TSubForm = class(TForm)
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;

var
SubForm: TSubForm;

implementation

{$R *.dfm}

procedure TSubForm.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Close;
end;

end.

softstarxy 2005-03-19
  • 打赏
  • 举报
回复
unit Unit1;


interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;

type
TFMainForm= class(TForm)
procedure FormClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
FMainForm: TFMainForm;

implementation

uses Unit2;

{$R *.dfm}

procedure TFMainFormFormClick(Sender: TObject);
begin
// subForm = TSubForm.Create(self);
SubForm.show;//显示子窗体
end;

end.




unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;

type
TSubForm = class(TForm)
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;

var
SubForm: TSubForm;

implementation

{$R *.dfm}

procedure TSubForm.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
SubForm.Close;
end;

end.

我已经改了,但是还是要报错,郁闷,谢谢大家
banalman 2005-03-19
  • 打赏
  • 举报
回复
SubForm: TSubForm; 这种是正确的申明。楼主说的第一中声明有问题吧 。我这里是编译不过去的。
softstarxy 2005-03-19
  • 打赏
  • 举报
回复
加了,结果依然
softstarxy 2005-03-19
  • 打赏
  • 举报
回复
加了,结构依然。。。。。。。。。
何鲁青 2005-03-19
  • 打赏
  • 举报
回复
FMainForm TFMainForm //中间应该有个“:”的吧...
softstarxy 2005-03-19
  • 打赏
  • 举报
回复
加入了的,
那为什么会报错说TMainForm未申明????
何鲁青 2005-03-19
  • 打赏
  • 举报
回复
project--->options--->forms
看看你的subform是不是已经包括在(auto create form)了
如果没有就加入进去。
如果你是在建立一个工程之后,用new--->form菜单新建的窗口话,
默认的应该是加入了,反正你看看吧
softstarxy 2005-03-19
  • 打赏
  • 举报
回复
如何添加??
何鲁青 2005-03-19
  • 打赏
  • 举报
回复
不知道你有没有把subForm的窗体程序包括到project当中????
softstarxy 2005-03-19
  • 打赏
  • 举报
回复
我运行delphi的时候,弹出一个对话框
error in module Unit1:Delaration of TMainForm is missing or incorrect

5,928

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧