Undeclared identifier: 问题
unit untClassTeacher;
interface
type
TTeacher=class
Name:string; //姓名
Sex:Boolean; //性别
Birthday:TDate; //出生日期
TeachPost:string; //职称
function Talk:string;
end;
implementation
{ TTeacher }
function TTeacher.Talk: string;
begin
Result:='I am a teacher';
end;
end.
unit untClassStudent;
interface
type
TStudent=class
Name:string; //姓名
Sex:Boolean; //性别
Birthday:TDate; //出生日期
function Talk:string;
end;
implementation
{ TStudent }
function TStudent.Talk: string;
begin
Result:='I am learning programing.';
end;
end.
unit MainForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
lbTeacher: TListBox;
lbStudent: TListBox;
btnTeacher: TButton;
btnStudent: TButton;
procedure btnTeacherClick(Sender: TObject);
procedure btnStudentClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
ATeacher:TTeacher;
AStudent:TStudent;
implementation
uses untClassStudent, untClassTeacher;
{$R *.dfm}
procedure TForm1.btnTeacherClick(Sender: TObject);
begin
ATeacher:=TTeacher.Create; //创建对象实例
lbTeacher.Items.Add('教师姓名:'+ATeacher.Name); //显示ATeacher变量的Name域
if ATeacher.Sex then
lbTeacher.Items.Add('布尔字段值为True')
else
lbTeacher.Items.Add('布尔字段值为False');
lbTeacher.Items.Add('教师生日:'+DateToStr(ATeacher.Birthday));
lbTeacher.Items.Add('教师职称:'+ATeacher.TeachPost);
lbTeacher.Items.Add(ATeacher.Talk)
lbTeacher.Items.Add('类变量所分配的存储字节数:'+IntToStr(SizeOf(ATeacher)));
lbTeacher.Items.Add('类实例所分配的存储字节数:'+IntToStr(TTeacher.InstanceSize)));
ATeacher.Free; //释放对象实例
end;
procedure TForm1.btnStudentClick(Sender: TObject);
begin
AStudent:=TStudent.Create; //创建对象实例
AStudent.Name:='李大江';
AStudent.Sex:=True;
AStudent.Birthday:=EncodeDate(1986,2,18);
lbStudent.Items.Add('学生姓名:'+AStudent.Name); //显示ATeacher变量的Name域
if AStudent.Sex then
lbStudent.Items.Add('男')
else
lbStudent.Items.Add('女');
lbStudent.Items.Add('学生生日:'+DateToStr(AStudent.Birthday));
lbStudent.Items.Add(AStudent.Talk)
lbStudent.Items.Add('类变量所分配的存储字节数:'+IntToStr(SizeOf(AStudent)));
lbStudent.Items.Add('类实例所分配的存储字节数:'+IntToStr(TStudent.InstanceSize)));
AStudent.Free; //释放对象实例
end;
end.
我的所有程序。下面是提示的错误
[Error] MainForm.pas(25): Undeclared identifier: 'TTeacher'
[Error] MainForm.pas(26): Undeclared identifier: 'TStudent'
[Error] untClassStudent.pas(9): Undeclared identifier: 'TDate'
[Fatal Error] MainForm.pas(30): Could not compile used unit '..\简单范例\Exa03-02\untClassStudent.pas'