首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

析构函数的有关问题

2012-03-16 
析构函数的问题type TMyDate Class(TObject)privateYear,Month,Day :Integerpublicconstructor Create(

析构函数的问题
type TMyDate = Class(TObject)
  private
  Year,Month,Day :Integer;
  public
  constructor Create(Y, M, D:Integer); overload;
  constructor Create(); overload;
  destructor Destroy; override;
  procedure SetDate(Y, M, D:Integer);
  function ShowDate:string;
end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TMyDate }

constructor TMyDate.Create(Y, M, D: Integer);
begin
end;

constructor TMyDate.Create;
begin

end;

destructor TMyDate.Destroy;
begin
  Year := 0;
  Month := 0;
  Day := 0;
  inherited;
end;

procedure TMyDate.SetDate(Y, M, D: Integer);
begin
  Year := Y;
  Month := M;
  Day := D;
end;

function TMyDate.ShowDate: string;
begin
  Result := IntToStr(Year) + '年' + IntToStr(Month) + '月' + IntToStr(Day) + '日';
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  MyDate :TMyDate;
begin
  MyDate.Create;
  MyDate.SetDate(2007,9,5);
  Label1.Caption := MyDate.ShowDate;
  MyDate.Free;
end;

end.

这段代码有错误吗?为何执行到MyDate.Free;的时候会报读地址错误呢

[解决办法]
var
MyDate :TMyDate;
begin
MyDate := TMyDate.Create; /// 我晕
MyDate.SetDate(2007,9,5);
Label1.Caption := MyDate.ShowDate;
MyDate.Free;
[解决办法]
楼上所指正解,类未创建实例
[解决办法]
呵呵,对象未实例化
[解决办法]
类未创建实例

热点排行