Еще один способ облегчить себе жизнь воспользовавшись прелестями BDS 2006, а именно прелестью вынесенной в заголовок. Об этом я тоже уже упоминал но повторить (да еще и самого себя) не помешает. Итак:
Type
// Класс-хелпер для класса TObject
TObjectClassHelper = Class Helper For TObject
Private
{$REGION ' Методы доступа к значениям свойств '}
Function GetThis : TObject; Inline;
Function GetThisAssigned : Boolean; Inline;
{$ENDREGION}
Public
Property This : TObject Read GetThis;
Property ThisAssigned : Boolean Read GetThisAssigned;
End;
Implementation
{ TObjectClassHelper }
//
Function TObjectClassHelper.GetThis : TObject;
Begin
Result := Self;
End;
//
//
Function TObjectClassHelper.GetThisAssigned : Boolean;
Begin
Result := Assigned(Self);
End;
//Удобно использовать в коде требующем ссылку на объект раскрытый оператором With. В зависимости от стиля программирования такое может случаться довольно часто ;) Примеры:
With TRegion.CreateAssigned(ARegion, amSharing) Do
Try
Result := TakeFrom(TRegion(This), ALastError);
Finally
Free;
End;With FindControl(0) Do
If ThisAssigned Then
Caption := Caption + 'OK';
Комментариев нет:
Отправить комментарий