• Eraser © (27.08.08 02:58) [80]
    > Нет, все таки наш арсенал немного возрос, а скорость компиляции
    > вроде не пострадала, что ни может не радовать

    да уж, не сказал бы, что в C# часто приходилось пользоваться какими-то сложнейшими конструкциями с шаблонами, List<T> все и заканчивалось обычно, но как этого не хватало в Делфи!
  • ketmar © (27.08.08 07:49) [81]
    >[66] Servy © (2008-08-26 21:44:00)
    >правда без return :)

    угу. пардон, недоперенастроил мозг с сей. %-)

    ---
    All Your Base Are Belong to Us
  • oxffff © (27.08.08 08:21) [82]

    > Нет, все таки наш арсенал немного возрос,


    Дык, я не спорю. Это хорошо. Только как то немножко противно, что все делается с оглядкой на C#.

    P.S. Я почемуто стал обращать внимание на D и Oxygene.
  • ZeroDivide © (27.08.08 11:22) [83]

    >
    > P.S. Я почемуто стал обращать внимание на D и Oxygene.


    Вообще RemObjects рулит, я давно уже юзаю PS и доволен им. ИМХО, другие продукты этой компании не должны быть хуже по качеству.

    По описанию и прайсу Oxygene уделывает Delphi. А вот как на счет применения в реальных боевых условиях? Юзал его?
  • jack128_ (27.08.08 12:58) [84]

    > и прайсу Oxygene уделывает Delphi.

    по прайсу по подробнее?  я так понял, что в качестве IDE используется MS Visual Studio ? То есть её тоже нуно покупать???
  • oxffff © (27.08.08 20:12) [85]

    > ZeroDivide ©   (27.08.08 11:22) [83]


    Я пока больше теоретик.
  • SpellCaster (28.08.08 15:54) [86]
    Вот и я добрался до пощупывания Акулы (если кому надо, весь релиз лежит на оф. сайте, ссылки и лекарство в разделе Варезник ру-борда).
    Что могу сказать, обновления радуют, а вот реализация не очень... все новые фичи какие-то недоделанные.
    Класс эксплорер при добавлении элементов каждый раз генерит новую секцию, диспетчер ресурсов почему-то не создает автоматом кода для загрузки картинки, как на презентации, новые компоненты вообще хз как работают - на вид ничем не отличаются. А баллун хинт почти нельзя настроить, к тому же он с забивает на положение мыши и возникает всегда под ней. ToString у объекта - вещь хорошая, вот только если б она еще и прописана была, а то тупо возвращает имя класса, и всё.
    Вот exit с параметром - это единственная фича, которая пока что мне больше всего понравилась)). Теперь можно забыть про дурацкие
    if Suxx then
    begin
    Result:="Suxx"; Exit;
    end

    и делать if Suxx then Exit("Suxx") - мелочь, а приятно)

    C шаблонами пока е разбирался, насчет анонимных методов пока не могу придумать, где могут понадобиться. Лучше бы локальные переменные внутри блока сделали б, что ли )).
  • pasha_golub © (28.08.08 16:17) [87]

    > и делать if Suxx then Exit("Suxx") - мелочь, а приятно)

    Класс!
  • Ega23 © (28.08.08 16:22) [88]

    > и делать if Suxx then Exit("Suxx") - мелочь, а приятно)


    Нда, приятная мелочь...  :)
  • федот (28.08.08 21:07) [89]
    ап, еще мнения будут?
  • ketmar © (28.08.08 21:12) [90]
    >[86] SpellCaster (2008-08-28 15:54:00)
    анонимы как раз рулят. я приводил пример, где и когда.

    ---
    Do what thou wilt shall be the whole of the Law.
  • федот (28.08.08 21:21) [91]
    Кстати уже доступен свежий билд (RC или релиз?)
    12.0.3155.16733, с хэлпом в комплекте.
  • DVM © (28.08.08 21:24) [92]

    > Кстати уже доступен свежий билд

    где?
  • TiBuron (28.08.08 21:41) [93]
    > весь релиз лежит на оф. сайте


    > Кстати уже доступен свежий билд (RC или релиз?)



    > где?

    Вот именно что, Где?

    Не надоело ещё людям мозг пудрить. Методом тыка и подборки имён архивов заюзали списочек из ссылок
    http://installers.codegear.com/release/radstudio/12.0.3155.16733/***.7zip

    Скачали, и радуетесь, что оф. релиз скачали :) Ну прям дети. Никто не даёт гарантию, что это именно файлы релиза, а не какой-нибудь промежуточной сборки. Может поэтому и недоступен на codegear он-лайн инсталлятор

    Лучше уж дождаться ISO-образа. На этой неделе скорее весго его и выложат.

    зы: когда ссылки на реальный оф. релиз появятся, на e-mail придут уведомления, для тех, кто подписался
  • oxffff © (28.08.08 23:34) [94]
    Завтра на работе устрою разбор реализации анонимных методов и шаблонов.
  • oxffff © (28.08.08 23:51) [95]
    Первые исследования показывают,что Tobject обзавелся новыми методами

    class Method
    UnitName;

    instance virtual Methods
    Equals(self);    VMT-$2С
    ToString;        VMT-$24
    GetHashCode;  VMT-$28

    +
    перегруженный

    class function TObject.MethodAddress(const Name: string): Pointer;
    begin
    {$IFDEF UNICODE}
     Result := MethodAddress(UTF8EncodeToShortString(Name));
    {$ELSE}
     Result := MethodAddress(ShortString(Name));
    {$ENDIF}
    end;

    Это был совсем беглый взгляд на содержимое system.pas.
    Завтра буду дрючить его по полной.

    Теперь, что реально меня интересовало кодогенерация и инстранцирование шаблонов. Пока не ушел спать поковыряю минут 20.
  • oxffff © (29.08.08 00:10) [96]
    Что меня сейчас реально расстроило, код для инстанцированых шаблонов с разным параметризованных параметров отличается.

    Однако зачем было городить поддержку использования операторов в параметризованных классов через унифицированный интерфейс, т.е через жопу я не знаю. Это же не .NET.

    Я тут уже слегка кратко выше разобрал их реализацию

    Возможно я сейчас чего не до конца понимаю, однако завтра я разберу все на винтики.

    Теперь далее.

    Слегка изменился код инстранцирования параметризованных классов.
    Есть предположения, завтра проверю.
    Завтра я вниметельно разберу все под отладчиком.
    И возможно сообщу здесь, если вдруг не забухаю.
    Теперь спать.
  • oxffff © (29.08.08 00:17) [97]

    > oxffff ©   (29.08.08 00:10) [96]
    > Что меня сейчас реально расстроило, код для инстанцированых
    > шаблонов с разным параметризованных параметров отличается.
    >

    Уточние.
    Точнее не расстроило, однако прикручивание операции сравнения через унифицированный интерфейс для известного на этапе компиляции типа меня сильно растроило. То есть не будет вам динамического инстанцирования шаблонов как в .NET. Я его и не ждал конечно, однако унифицированый интерфейс наводил на такие мысли.
    Вообщем могли бы сделать полу generics, полу template. Я ожидал этого.
    НО!!!..

    Небольшое отступление. Я смотрел их "хитрый" код для сопоставления для типов классовоберток оператора сравнения.
    Мозг не сломаешь, но выкрутасы честно говоря не выразительные.
  • oxffff@yandex.ru (29.08.08 09:37) [98]

    > Слегка изменился код инстранцирования параметризованных
    > классов


    Нет, код такой же.

    Далее
    Мое мнение о реализации generics - это полу generics.

    Например is, as, приведение запрещены над Т. Хотя .net для этих целей
    использует опкод box <T>, т.е. приводит к управляемому типу.
    Зачем было тогда нацеплять идеалогию, которая не будет ложится полностью на native delphi.
    Ну и запрет на использование операторов меня просто удивили.
  • Anatoly Podgoretsky © (29.08.08 09:51) [99]
    > oxffff@yandex.ru  (29.08.2008 9:37:38)  [98]

    Модно и зависть.
Есть новые Нет новых   [134442   +15][b:0.001][p:0.001]