![>](style_images/1/nav_m.gif)
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.147.43.219] |
![]() |
|
Страницы: (19) « Первая ... 16 17 [18] 19 все ( Перейти к последнему сообщению ) |
Прикр. сообщ.
#1
,
|
|
|
![]() |
Сообщ.
#256
,
|
|
А как это все пропустили новость, что появилась Delphi Community Edition?
|
Сообщ.
#257
,
|
|
|
Цитата Profi @ А как это все пропустили новость, что появилась Delphi Community Edition? Если сравнить community-редакцию Visual Studio и "это", то... Эмбарики дают нечто странное: годовая лицензия, которую надо продлять; инсталер только через веб; отдельно Delphi и отдельно Builder. |
Сообщ.
#258
,
|
|
|
Цитата Mr.Delphist @ Если сравнить community-редакцию Visual Studio и "это", то... Эмбарики дают нечто странное: годовая лицензия, которую надо продлять; инсталер только через веб; отдельно Delphi и отдельно Builder. Интернет не равенство в России устранено. После установки RAD вы можете доставить любой компонент: Delphi, C++ и др. Зато 32 и 64 исходный код RTL открыт. Редактор не обрезан, есть рефакторинг. |
Сообщ.
#259
,
|
|
|
Цитата Mr.Delphist @ инсталер только через веб Исошник есть Там даже Фастрепорт есть в комплекте |
![]() |
Сообщ.
#260
,
|
|
Тут по миру представляют новую версию дельфи, Delphi Rio.
Из интересного: inline variables: ![]() ![]() begin var s: string = 'kfjhekfcje'; for var i: Integer := 10 to 20 do ... end; вывод типов для них: ![]() ![]() begin var dict := TDictionary<string, string>.Create; end; возможность переопределить оператор присваивания и файнализатор для рекордов. Правда когда выйдет это чудо - пока не ясно. |
Сообщ.
#261
,
|
|
|
Всё ж какой запас был заложен по синтаксису языка, что новые фичи до сих пор можно добавлять, не ломая предыдущих правил и не обкладываясь прагмами! Браво, мистер Вирт, браво!
|
![]() |
Сообщ.
#262
,
|
|
Цитата jack128 @ Правда когда выйдет это чудо - пока не ясно. Да, пока что они говорят Цитата Our 10.3 Rio release is coming soon |
![]() |
Сообщ.
#263
,
|
|
Цитата jack128 @ inline variables: А в каких случаях их выгодно использовать? |
![]() |
Сообщ.
#264
,
|
|
Цитата ^D^ima @ А в каких случаях их выгодно использовать? В смысле "выгодно" ? |
![]() |
Сообщ.
#265
,
|
|
Цитата jack128 @ В смысле "выгодно" ? Как я понимаю это новшество позволяет в блоке begin end создавать новые переменные, не объявленные в var. вот и спрашиваю в каких случаях это будет лучше чем просто написать переменную в var? |
![]() |
Сообщ.
#266
,
|
|
Цитата ^D^ima @ вот и спрашиваю в каких случаях это будет лучше чем просто написать переменную в var? Да, забыл упомянуть, эти переменные будут иметь block scope. Так что всех случаях будет НЕ хуже классического объявления. Где то так же, где лучше. например такая запись for var i := 0 to Items.Count - 1 do тут же пофиксит классический баг новичков - использование счетчика цикла за пределами тела цикла. Добавлено или например так: ![]() ![]() begin if ... then begin var XmlDoc := LoadXmlDocument(Filename); DoWork(ParseXml(XmlDoc)); end; DoOtherWork(); end; Если XmlDoc вынести в блок var, то пиковое потребление памяти вырастит, потому что XmlDoc уничтожится только в конце процедуры. Да и вообще переменные всегда лучше объявлять как можно ближе к месту их использования. Ты ж не объявляет полем переменную, используемую только в одном методе? Так зачем же объявлять переменную видимой везде в методе, если она нужно только в теле цикла? |
![]() |
Сообщ.
#267
,
|
|
Собственно вот, авторы статей, текстов и постов подтянулись. Общий обзор фичи, влияние на производительность
|
![]() |
Сообщ.
#268
,
|
|
Цитата jack128 @ Если XmlDoc вынести в блок var, то пиковое потребление памяти вырастит, потому что XmlDoc уничтожится только в конце процедуры. Delphi стал управляемым языком? ![]() |
![]() |
Сообщ.
#269
,
|
|
На столько же на сколько C++ управляемый. Для того чтобы при выходе за скоуп уничтожить объект - быть управляемым языком не обязательно.
В данном конкретном случае - XmlDoc - переменная интерфейсного типа, для них работает подсчет ссылок. |
![]() |
Сообщ.
#270
,
|
|
Цитата jack128 @ В данном конкретном случае - XmlDoc - переменная интерфейсного типа, для них работает подсчет ссылок. Это я помню. ![]() Цитата jack128 @ Для того чтобы при выходе за скоуп уничтожить объект - быть управляемым языком не обязательно. То есть, если у меня у функции в var определена ссылочная переменная, я могу не вызывать в конце функции Free для, так как компилятор все сделает сам? |