天天看點

Delphi使用過程中的幾個技巧

一、巧用TAG屬性儲存對象的指針

    指針的資料類型是整型,一個指針就是一個整型的數值。是以凡整型的變量(這個整型的變量可以是聲明在INI檔案中,也可以是聲明在函數中的)也好,對象的整型的屬性也好,都可以用來存儲一個指針。但對象往往沒有多餘的整型屬性,而TAG屬性就是整型的,正好可以用它來存放指針。

goods := TGoods.Create(Button1);
goods.goodsId := goodsId;
goods.goodsName := goodsName;
goods.price := price;
Button1.Tag := THandle(goods);      

使用:

TGoods(TButton(Sender).Tag).buyNum      

不過在需要注意的就是,當我們在釋放Button1的時候,一定要記得先釋放其Tag中存放的對象資源,以免記憶體洩漏。如:

if Assigned(goods) then goods.Free;

或者:

if Button1.Tag<>0 then TGoods(Button1.Tag).Free;

var
  FUserInfo: TUserInfo = nil;

function UserInfo: TUserInfo;
begin
  if not Assigned(FUserInfo) then
    FUserInfo := TUserInfo.Create;
  Result := FUserInfo;
end;      

繼續閱讀