Текущий архив: 2008.11.30;
Скачать: CL | DM;
Вниз
Д2009 Найти похожие ветки
← →
Eraser © (2008-08-27 02:58) [80]> Нет, все таки наш арсенал немного возрос, а скорость компиляции
> вроде не пострадала, что ни может не радовать
да уж, не сказал бы, что в C# часто приходилось пользоваться какими-то сложнейшими конструкциями с шаблонами, List<T> все и заканчивалось обычно, но как этого не хватало в Делфи!
← →
ketmar © (2008-08-27 07:49) [81]>[66] Servy © (2008-08-26 21:44:00)
>правда без return :)
угу. пардон, недоперенастроил мозг с сей. %-)
---
All Your Base Are Belong to Us
← →
oxffff © (2008-08-27 08:21) [82]
> Нет, все таки наш арсенал немного возрос,
Дык, я не спорю. Это хорошо. Только как то немножко противно, что все делается с оглядкой на C#.
P.S. Я почемуто стал обращать внимание на D и Oxygene.
← →
ZeroDivide © (2008-08-27 11:22) [83]
>
> P.S. Я почемуто стал обращать внимание на D и Oxygene.
Вообще RemObjects рулит, я давно уже юзаю PS и доволен им. ИМХО, другие продукты этой компании не должны быть хуже по качеству.
По описанию и прайсу Oxygene уделывает Delphi. А вот как на счет применения в реальных боевых условиях? Юзал его?
← →
jack128_ (2008-08-27 12:58) [84]
> и прайсу Oxygene уделывает Delphi.
по прайсу по подробнее? я так понял, что в качестве IDE используется MS Visual Studio ? То есть её тоже нуно покупать???
← →
oxffff © (2008-08-27 20:12) [85]
> ZeroDivide © (27.08.08 11:22) [83]
Я пока больше теоретик.
← →
SpellCaster (2008-08-28 15:54) [86]Вот и я добрался до пощупывания Акулы (если кому надо, весь релиз лежит на оф. сайте, ссылки и лекарство в разделе Варезник ру-борда).
Что могу сказать, обновления радуют, а вот реализация не очень... все новые фичи какие-то недоделанные.
Класс эксплорер при добавлении элементов каждый раз генерит новую секцию, диспетчер ресурсов почему-то не создает автоматом кода для загрузки картинки, как на презентации, новые компоненты вообще хз как работают - на вид ничем не отличаются. А баллун хинт почти нельзя настроить, к тому же он с забивает на положение мыши и возникает всегда под ней. ToString у объекта - вещь хорошая, вот только если б она еще и прописана была, а то тупо возвращает имя класса, и всё.
Вот exit с параметром - это единственная фича, которая пока что мне больше всего понравилась)). Теперь можно забыть про дурацкие
if Suxx then
begin
Result:="Suxx"; Exit;
end
и делать if Suxx then Exit("Suxx") - мелочь, а приятно)
C шаблонами пока е разбирался, насчет анонимных методов пока не могу придумать, где могут понадобиться. Лучше бы локальные переменные внутри блока сделали б, что ли )).
← →
pasha_golub © (2008-08-28 16:17) [87]
> и делать if Suxx then Exit("Suxx") - мелочь, а приятно)
Класс!
← →
Ega23 © (2008-08-28 16:22) [88]
> и делать if Suxx then Exit("Suxx") - мелочь, а приятно)
Нда, приятная мелочь... :)
← →
федот (2008-08-28 21:07) [89]ап, еще мнения будут?
← →
ketmar © (2008-08-28 21:12) [90]>[86] SpellCaster (2008-08-28 15:54:00)
анонимы как раз рулят. я приводил пример, где и когда.
---
Do what thou wilt shall be the whole of the Law.
← →
федот (2008-08-28 21:21) [91]Кстати уже доступен свежий билд (RC или релиз?)
12.0.3155.16733, с хэлпом в комплекте.
← →
DVM © (2008-08-28 21:24) [92]
> Кстати уже доступен свежий билд
где?
← →
TiBuron (2008-08-28 21:41) [93]> весь релиз лежит на оф. сайте
> Кстати уже доступен свежий билд (RC или релиз?)
> где?
Вот именно что, Где?
Не надоело ещё людям мозг пудрить. Методом тыка и подборки имён архивов заюзали списочек из ссылок
http://installers.codegear.com/release/radstudio/12.0.3155.16733/***.7zip
Скачали, и радуетесь, что оф. релиз скачали :) Ну прям дети. Никто не даёт гарантию, что это именно файлы релиза, а не какой-нибудь промежуточной сборки. Может поэтому и недоступен на codegear он-лайн инсталлятор
Лучше уж дождаться ISO-образа. На этой неделе скорее весго его и выложат.
зы: когда ссылки на реальный оф. релиз появятся, на e-mail придут уведомления, для тех, кто подписался
← →
oxffff © (2008-08-28 23:34) [94]Завтра на работе устрою разбор реализации анонимных методов и шаблонов.
← →
oxffff © (2008-08-28 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 © (2008-08-29 00:10) [96]Что меня сейчас реально расстроило, код для инстанцированых шаблонов с разным параметризованных параметров отличается.
Однако зачем было городить поддержку использования операторов в параметризованных классов через унифицированный интерфейс, т.е через жопу я не знаю. Это же не .NET.
Я тут уже слегка кратко выше разобрал их реализацию
Возможно я сейчас чего не до конца понимаю, однако завтра я разберу все на винтики.
Теперь далее.
Слегка изменился код инстранцирования параметризованных классов.
Есть предположения, завтра проверю.
Завтра я вниметельно разберу все под отладчиком.
И возможно сообщу здесь, если вдруг не забухаю.
Теперь спать.
← →
oxffff © (2008-08-29 00:17) [97]
> oxffff © (29.08.08 00:10) [96]
> Что меня сейчас реально расстроило, код для инстанцированых
> шаблонов с разным параметризованных параметров отличается.
>
Уточние.
Точнее не расстроило, однако прикручивание операции сравнения через унифицированный интерфейс для известного на этапе компиляции типа меня сильно растроило. То есть не будет вам динамического инстанцирования шаблонов как в .NET. Я его и не ждал конечно, однако унифицированый интерфейс наводил на такие мысли.
Вообщем могли бы сделать полу generics, полу template. Я ожидал этого.
НО!!!..
Небольшое отступление. Я смотрел их "хитрый" код для сопоставления для типов классовоберток оператора сравнения.
Мозг не сломаешь, но выкрутасы честно говоря не выразительные.
← →
oxffff@yandex.ru (2008-08-29 09:37) [98]
> Слегка изменился код инстранцирования параметризованных
> классов
Нет, код такой же.
Далее
Мое мнение о реализации generics - это полу generics.
Например is, as, приведение запрещены над Т. Хотя .net для этих целей
использует опкод box <T>, т.е. приводит к управляемому типу.
Зачем было тогда нацеплять идеалогию, которая не будет ложится полностью на native delphi.
Ну и запрет на использование операторов меня просто удивили.
← →
Anatoly Podgoretsky © (2008-08-29 09:51) [99]> oxffff@yandex.ru (29.08.2008 9:37:38) [98]
Модно и зависть.
← →
oxffff © (2008-08-29 10:04) [100]
> Anatoly Podgoretsky © (29.08.08 09:51) [99]
Будьте любезны поправьте мой пост [98].
Поправьте заголовок. оставьте просто oxffff
← →
Anatoly Podgoretsky © (2008-08-29 10:27) [101]> oxffff (29.08.2008 10:04:40) [100]
У нас нет цензуры, можно только не принять статью к публикации, а редактировать не положено.
← →
федот (2008-08-29 10:53) [102]Кстати многие изменения подробно описаны в хелпе.
← →
SpellCaster (2008-08-29 10:57) [103]> [90] ketmar © (28.08.08 21:12)
Пример-то есть, но что-то особой пользы я от него не вижу %)
> [95] oxffff © (28.08.08 23:51)
> Первые исследования показывают,что Tobject обзавелся новыми
> методами
Угу... вот только ToString, насколько я понял, никто не перекрывает, а базовый метод тупо возвращает ClassName. То бишь пользы от этой фени - 0.
← →
федот (2008-08-29 11:14) [104])))))))
Это специально и сделано что бы иметь возможность перекрыть и реализовать.
← →
SpellCaster (2008-08-29 13:21) [105]> [104] федот (29.08.08 11:14)
C таким же успехом можно было и самим это провернуть, вот если бы они для каждого класса вывод соотв инфы сделали, было б круто)
Ps Риббон контролы вызывают эксепшен при попытке перетащить на форму, однако демка компилится. Ну, что ж, симпатично сделано. Закос под офис07 удался)
← →
Tricky (2008-08-29 16:07) [106]
> У нас нет цензуры, можно только не принять статью к публикации,
> а редактировать не положено.
Дык это и есть цензура. Кстати довольно алогичная она у вас.
← →
Anatoly Podgoretsky © (2008-08-29 16:11) [107]> Tricky (29.08.2008 16:07:46) [106]
Не путай отказ в публикации, с изменением текста сообщений (цензура). Если бы не было отказов, то все газеты и журналы были бы заполонены только графоманскими поделками. Редакция в праве отказать в публикации любой статьи, кроме тех, которые вынуждены печатать по решению суда. Публиковать не публиковать решение принимает редактор, на форумах он называется модератор.
← →
Prohodil Mimo © (2008-08-29 19:05) [108]Германн © (25.08.08 0:21) [35]
А почему для сравнения избрал именно 2005?
потому-что она первая из бдс и самая глючная. И эта первая с уникодом :о)
← →
Anatoly Podgoretsky © (2008-08-29 19:21) [109]
> потому-что она первая из бдс и самая глючная.
Первая студия у них 7 - еще как то можно было назвать, с натяжкой.
Следующая 8, эту вообще студией называть стыдно и эта самая глюкавая.
Следующея 2005 и это действительно студия.
← →
ZeroDivide © (2008-08-29 19:45) [110]Меня, все-таки, больше всего прайс волнует. Она будет для России какая-то особенная или такая же подстава как для остальной еврозоны - долларовые цены со значком "Евро". Да и долларовая цена далека от цен на Турбо.
А еще вот эта строчка смущает:
Delphi 2009 Professional
"...и гибкие возможности для соединения с локальными базами данных."
Это что это? Я не смогу через IBX к удаленному FireBird"у подключиться?
← →
speller (2008-08-29 20:14) [111]
> Если Object убрали то это конечно плохо. KOL построен на
> нем
Object оставили
← →
speller (2008-08-29 20:35) [112]Ковыряю потихоньку сабж - на первый взгляд очень хорошо всё, работает очень шустро. Решил сразу проверить юникод - внатуре работает :) Редактор изначально русские буковки в cp1251 сохраняет, но если вставить какую абракадабру в исходник - предлагает сохранить в utf-8. Вот бы еще найти как по умоляанию в юникод всё сохранять...
Настройки почти все подхватила от установленной 6-ки. Некоторые по-своему сделала.
А вот справка на моей х64 винде не запустилась... В дистре вроде была.
← →
Anatoly Podgoretsky © (2008-08-29 23:31) [113]> speller (29.08.2008 20:35:52) [112]
> Редактор изначально русские буковки в cp1251 сохраняет, но если вставить какую абракадабру в исходник - предлагает сохранить в utf-8.
Таже чепуха и в 2006
← →
DVM © (2008-08-30 14:15) [114]Скачал, посмотрел. Да, со старыми проектами проблем много. Замена PChar на PAnsiChar и подобное прокатит не везде. Но все же скомпилить кое что удалось.
← →
jack128_ (2008-08-30 16:47) [115]хе.
type
TMyClass<T: record> = class
end;
procedure TForm2.FormCreate(Sender: TObject);
var
C: TMyClass<Integer>;
begin
end;
Вполне успешно компилируется..
← →
jack128_ (2008-08-30 16:50) [116]мдя..
procedure TForm2.FormCreate(Sender: TObject);
при этом
var
C: TMyClass<Integer>;
begin
C := TMyClass<Integer>.Create.Free; // [DCC Error] Unit2.pas(37): E2010 Incompatible types: "TMyClass<System.Integer>" and "procedure, untyped pointer or untyped parameter"
end;C := TMyClass<Integer>.Create;
С.Free;
нормально колмпилируется..
← →
jack128_ (2008-08-30 17:04) [117]блин. И старую ошибку с advanced records
type
TAdvRec = record
private
function GetProp: boolean;
public
property Prop: boolean read GetProp;
end;
TMyClass = class
public
property MyRec: TAdvRec read FMyRec;
end;
var
c: TMyClass;
if C.MyRec.Prop then // тут интернал еррор...
← →
jack128_ (2008-08-30 17:06) [118]
> блин. И старую ошибку с advanced records
НЕ исправили.
← →
oxffff © (2008-08-30 18:32) [119]
> jack128_ (30.08.08 16:50) [116]
Ты что то не так понял.
C := TMyClass<Integer>.Create.Free;
КАк так?
← →
федот (2008-08-30 18:35) [120]var
C: TMyClass<Integer>;
begin
TMyClass<Integer>.Create.Free;
end;
Страницы: 1 2 3 4 5 6 вся ветка
Текущий архив: 2008.11.30;
Скачать: CL | DM;
Память: 0.68 MB
Время: 0.02 c