ДельфинарийЖурнал

Вышел Free Pascal 2.1.4!

Автор:

Вышла версия 2.1.4 ака 2.2.0 beta. Через два месяца выйдет релиз 2.2.0, а пока разработчики просят всех потестировать эту версию, для выявления оставшихся ошибок. Вкратце список изменений:

  • добавлено 4 новые платформы:  Win64, Windows CE, Nintendo Game Boy Advance, Nintendo DS
  • добавлена поддержка MacOSX на Intel (i386)
  • внутренний линковщик
  • дженерики
  • ...
    полный список изменений тут

    Скачать можно тут

    22 мая 2007

    Комментарии [11]

    #1
    16:19, 22 мая 2007

    Потестим...

    > * Interface delegation

    А я думал этого в обозримом будущем не будет и не стал использовать.:)

    #2
    22:23, 22 мая 2007

    > Interface delegation
    А что это?

    #3
    8:03, 23 мая 2007
    property MyInterface: TMyObject read FMyObject implements IMyInterface;

    это делегирует реализацию интерфейса IMyInterface объекту FMyObject класса TMyObject. Причем от TMyObject не требуется наследоваться от чего-либо. Надо лишь чтобы у него была реализация, т.е. сигнатуры методов совпадали с реализуемым интерфейсом.
    Конечно можно прописывать все обращения ко внутреннему объекту вручную в методах, но писанины получится много до маразма, да и модифицировать сложно.
    Так что interface delegation это определенно вещь и далеко не просто синтаксический сахар. С ним можно отказаться от наследования реализации вообще.

    #4
    12:32, 23 мая 2007

    >Причем от TMyObject не требуется наследоваться от чего-либо.
    То есть это так же как в дельфях, только не надо писать

    TMyObject = class(TInterfacedObject, IMyInterface)...end

    а просто

    TMyObject = class...end

    Я прав?

    #5
    16:39, 23 мая 2007

    Нет, в дельфях тоже не надо, ибо делегация интерфейсов там давно есть.

    #6
    16:51, 23 мая 2007

    Mirage
    Делегация то есть, но делегат все равно должен  быть унаследован от TInterfacedObject и поддерживать заданный интерфейс явно. Может мы о разных вещах говорим? Я об этом

    #7
    17:13, 23 мая 2007

    > Generics
    Неужели?!

    DROnik, ну да, всё правильно, только он не обязательно должен быть унаследован от TInterfacedObject, можно ведь просто воспользоваться делегированием.

    #8
    17:42, 23 мая 2007

    >только он не обязательно должен быть унаследован от TInterfacedObject можно ведь просто воспользоваться делегированием.
    А пример можно?

    #9
    17:51, 23 мая 2007

    DROnik: Не должен он поддерживать никаких интерфейсов явно. Я когда объяснял что это набросал пример в дельфях и скомпилировал. Повторять лень.:)

    #10
    18:07, 23 мая 2007

    А.. блин. Точно не нужно. Всё таки я не то имел в виду.

    З.Ы. Во всем жара виновата:)

    #11
    18:25, 23 мая 2007

    А статья странная. Впрочем, о статье в соотв. теме.

    ДельфинарийЖурнал

    Тема в архиве.