我在DELPHI6中定义了一个类,如下所示:
type Tstudent=class
name:string;
sex:string;
procedure setdata(n:string;s:string);
end;
procedure Tstudent.setdata(n:string;s:string);
begin
name:=n;
sex:=s;
end;
然后在一个button1的click事件中写如下代码:
var stud:Tstudent;
begin
stud.create;
stud.setdata('孙司空','男');
end;
可是每次退出时执行close的时候有一个错误,说什么access violation,at address xxxxx;什么的。这是为什么啊。小弟不知为什么,望知位大哥明指。
type Tstudent=class
name:string;
sex:string;
procedure setdata(n:string;s:string);
end;
procedure Tstudent.setdata(n:string;s:string);
begin
name:=n;
sex:=s;
end;
然后在一个button1的click事件中写如下代码:
var stud:Tstudent;
begin
stud.create;
stud.setdata('孙司空','男');
end;
可是每次退出时执行close的时候有一个错误,说什么access violation,at address xxxxx;什么的。这是为什么啊。小弟不知为什么,望知位大哥明指。
解决方案 »
- ★★★★★ 机器上有多块网卡,Broland SocketServer 怎么绑定其中的一个ip? ★★★★★
- 新手上路求教:如何将一个选种的一条记录的一个字段从DBGrid中返回出来?????????????
- 多个事件可否在一个事件里写出来?
- 为什么几天没来发的帖子就不见了呢?
- 我正在使用delphi的indy控件做收发邮件程序,谁有可以解码各种编码的解码函数啊?急!
- 为什么做个flash封面最后释放不了呢?
- 怎样在鼠标右键或IE工具菜单下增加一点点菜单上去?
- 使用主从表时出现问题
- 爱好星际的朋友请到这边签个名
- 怎么过滤呢?我碰到难题了?/??????
- 如何实现运行从ftp上下载下来的应用程序
- 为何在InsideVCL中李维那个CallStack能列出一大串函数的调用过程而我的却始终只有那么可怜巴巴的几个?
interfaceuses
Windows, Messages, SysUtils, Variants, 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 class procedure setdata(n:string;s:string);
end;
var
Form1: TForm1;implementation{$R *.dfm}
class procedure Tstudent.setdata(n:string;s:string);
var
name:string;
sex:string;
begin
name:=n;
sex:=s;
end;procedure TForm1.Button1Click(Sender: TObject);
var stud:Tstudent;
begin
stud.create;
stud.setdata('孙司空','男');
end;
end.就没有哪个问题,可能在你引用申明类过程时的初始化有问题
stud.create;
stud.setdata('孙司空','男');
改成:
stud := Tstudent.Create;
stud.setdata('孙司空','男');
stu.Create;
改为
stu:= TStudent.Create;
即可