如何确保已重置所有属性

时间:2012-07-15 21:52:52

标签: delphi class

我用一个班级来收取信用卡;每次处理交易时,我只需更改卡号和日期等属性并提交。

碰巧没有正确设置属性,并且使用旧卡号进行交易。可怕。

因此,为了防止再次发生这种情况,我想确保类中的所有属性都恢复为默认值。我正在考虑处理创建的类并重新创建它。但我不知道如何在Delphi中做到这一点。

这是我目前的代码:

if frmPayAware = nil then  
  Application.CreateForm(TfrmPayAware, frmPayAware);
  frmPayAware.ProcessCredit(eExpDate.Text,FTrack,eNameOnCard.Text,eCardNum.Text,0);

1 个答案:

答案 0 :(得分:4)

您可以创建一个清除所有属性的清除方法。或者您可以为每次使用创建表单:

var
  frm : TfrmPayAware;
begin
  frm := TfrmPayAware.Create(nil);
  try
    frm.ProcessCredit(eExpDate.Text,FTrack,eNameOnCard.Text,eCardNum.Text,0);
  finally
    frm.Release;
  end;
end;

就个人而言,我更喜欢后面的方法,因为它确保每次使用表单时,它都处于相同的状态(刚刚创建)。

免费与发布 发布,将消息CM_RELEASE发布到表单。如果处理了消息(在处理完所有其他消息之后),则调用Free。