为什么记录类型不能定义(50)

  • 主题发起人 主题发起人 cnyz
  • 开始时间 开始时间
C

cnyz

Unregistered / Unconfirmed
GUEST, unregistred user!
为什么我在Form中声明了一个记录类型,在任何一个过程中都可以定义这个记录类型的变量,而在不能将这个记录类型定义为全局变量呢?
 
type TForm1 = class(TForm) type student=record id:integer; name:string; end; private { Private declarations } public { Public declarations }end;var stu:student; //放在此处提示错误,student未声明的标识符。procedure a();var stu:student; //放在这里就没有问题。beginend;这是为什么啊?
 
type student=record id:integer; name:string;end;type TForm1 = class(TForm) private { Private declarations } public { Public declarations } end;这样就可以了
 
这样也可以//全局变量var stu: TForm1.student;
 
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type student = record X: Single; y:string; end; TVector = array[0..1] of TPoint; TMonth = (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec); TDate = record D: 1..31; M: TMonth; Y: 1900..1999; end; TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1; new_stu:student; //没有问题!implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);beginclose;end;end.是可以的,没有问题,你的位置不对!
 
谢谢!谢谢两位的帮助!
 
多人接受答案了。
 
后退
顶部