24-04-2019, Saat: 09:25
(24-04-2019, Saat: 09:19)narkotik Adlı Kullanıcıdan Alıntı:(24-04-2019, Saat: 08:40)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: Bu durumda basitçe; SetReferenceEdit procedure'nizde referans kurduğunuz TWinControl'ün Tag property'sine; NativeInt(Self) ataması yapabilirsiniz.Öncelikle teşekkürler hocam, bu tarz bir özellik benimde aklıma geldi fakat kod yazarken ben veya bir başka bir kişi Bir den çok butonda aynı nesneyi referanslarsa nasıl birşey yaparımda takıldım. Bu tarz bir durumda son referanslayanı buluruz.
procedure TSizinSinif.SetReferenceEdit(const Value : TWinControl); begin if Value <> FSKReferenceEdit then begin if not Assigned(Value) and Assigned(FSKReferenceEdit) then FSKReferenceEdit.Tag := 0; FSKReferenceEdit := Value; if Assigned(FSKReferenceEdit) then FSKReferenceEdit.Tag := NativeInt(Self); end; end;
Bu durumda, madem sınıflar sizin sınıflarınız; o halde TWinControl'den türeyen FSKReferenceEdit sınıfınızın içine bir adet generic liste sınıfı ekleyin. (TList<TSizinButton> gibi). Bu durumda yukarıdaki kullanımda, Tag ataması yerine, FSKReferenceEdit.List.Add(Self) ya da FSKReferenceEdit.List.Remove(Self) gibi bir yapı işinizi görebilir.
Tabii gerçekte tam olarak ne yapmak istediğinizi ifade ederseniz belki daha manidar açıklamalarımız olabilir.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...

