Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 Delphi несколько хелперов  [new]
niggafckr
Member [заблокирован]

Откуда:
Сообщений: 10
Кто-нибудь знает, планируется ли в Delphi объединение хелперов? По какой причине не реализовано?
3 сен 19, 19:52    [21962830]     Ответить | Цитировать Сообщить модератору
 Re: Delphi несколько хелперов  [new]
rgreat
Member

Откуда:
Сообщений: 5622
Пока нет. Потомучто! (с)
3 сен 19, 20:04    [21962840]     Ответить | Цитировать Сообщить модератору
 Re: Delphi несколько хелперов  [new]
ziv-2014
Member

Откуда:
Сообщений: 480
niggafckr
Кто-нибудь знает, планируется ли в Delphi объединение хелперов? По какой причине не реализовано?

Нет, т. к. хелперы прописываются в структуру или класса, а там одно поле для хелпера. rtti не позволит.
3 сен 19, 20:18    [21962845]     Ответить | Цитировать Сообщить модератору
 Re: Delphi несколько хелперов  [new]
niggafckr
Member [заблокирован]

Откуда:
Сообщений: 10
ziv-2014, надо было вводить массив полей - TArray<...>, на дженериках. :D
3 сен 19, 20:43    [21962854]     Ответить | Цитировать Сообщить модератору
 Re: Delphi несколько хелперов  [new]
bk0010
Member

Откуда:
Сообщений: 4895
niggafckr
ziv-2014, надо было вводить массив полей - TArray<...>, на дженериках. :D
Ага, хелпером.
3 сен 19, 21:54    [21962888]     Ответить | Цитировать Сообщить модератору
 Re: Delphi несколько хелперов  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 11496
niggafckr
По какой причине не реализовано?
Хелперы можно наследовать друг от труга
4 сен 19, 13:50    [21963403]     Ответить | Цитировать Сообщить модератору
 Re: Delphi несколько хелперов  [new]
rgreat
Member

Откуда:
Сообщений: 5622
_Vasilisk_,

А синтаксис какой?
4 сен 19, 14:18    [21963455]     Ответить | Цитировать Сообщить модератору
 Re: Delphi несколько хелперов  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 11496
rgreat
А синтаксис какой?
  TStreamHelper = class helper for TStream
  public
    procedure ReadCheck(var ABuffer; ACount: Integer);
    procedure WriteCheck(const ABuffer; ACount: Integer);
  end;

  TCustomMemoryStreamHelper = class helper(TStreamHelper) for TCustomMemoryStream
  public
    procedure DeleteFirst(ASize: Integer);
  end;
4 сен 19, 14:26    [21963467]     Ответить | Цитировать Сообщить модератору
 Re: Delphi несколько хелперов  [new]
rgreat
Member

Откуда:
Сообщений: 5622
Спасибо, буду знать.
4 сен 19, 14:31    [21963480]     Ответить | Цитировать Сообщить модератору
 Re: Delphi несколько хелперов  [new]
Devillio
Member

Откуда: Волгоград
Сообщений: 349
Подскажите, а как можно добавить функцию в хелпер к String например?
type
  MyHelper = record helper(TStringHelper) for String
    function TestIt : String;
  end;

не работает
15 окт 19, 08:18    [21994252]     Ответить | Цитировать Сообщить модератору
 Re: Delphi несколько хелперов  [new]
Devillio
Member

Откуда: Волгоград
Сообщений: 349
Ой, сори за вопрос. В документации сказано нельзя.

Но зато можно так:
type
  TMyString = type String;

  MyStringHelper = record helper for TMyString
    function TestIt: String;
  end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(TMyString('Hello World!'.ToUpper).TestIt);
end;

{ MyHelper }

function MyStringHelper.TestIt: String;
begin
  Result := ReverseString(Self)
end;
15 окт 19, 09:09    [21994274]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить