delphi初学者的问题
unit pas1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type
TStudent = class(TObject)
Name :String[10];
Sex :String[2];
BirthDay : String[8];
end;
var
Form1: TForm1;
Student1:TStudent;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var a:string;
begin
Student1.Create;
Student1.Name :='wxy';
Student1.sex := '男';
end;
end.
只要一按按钮就会出来下面的错误提示:
Project Project1.exe raised exception class EAccessViolation with message
'Access violation at address 00402f85 in module 'Project1.exe'.Read of address 00000000'.Process stopped.Use Step or Run to continue.
就问大家这是什么原因造成的?谢谢。
问题点数:20、回复次数:5Top
1 楼ch81(missile)回复于 2001-08-17 20:46:42 得分 10
Student1.Create;---->
Student1:=TStudent.Create;Top
2 楼agui(阿贵: 高级图形用户界面)回复于 2001-08-17 20:47:54 得分 9
应当这么写:
Student1 := TStudent.Create; // 要给Student1赋值
Student1.Name :='wxy';
Student1.sex := '男';
Top
3 楼xuejinlong(-@判官@-)回复于 2001-08-17 20:48:08 得分 1
晚了。哎Top
4 楼schinar()回复于 2001-08-17 20:52:53 得分 0
谢谢大家的帮助。Top
5 楼billten(海上星)回复于 2001-08-17 21:06:57 得分 0
应该在分配内存时调用Student1:=Tstudent.create;
哈哈,加分了Top




