На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi · Книги по Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как "свернуть" программу в трей.
3. Как "скрыться" от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как прочитать список файлов, поддиректорий в директории?
5. Как запустить программу/файл?
... (продолжение следует) ...

Вопросы, подробно описанные во встроенной справочной системе Delphi, не несут полезной тематической нагрузки, поэтому будут удаляться.
Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.


Внимание
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...
Модераторы: jack128, D[u]fa, Shaggy, Rouse_
Страницы: (19) « Первая ... 16 17 [18] 19  все  ( Перейти к последнему сообщению )  
> Новости Embarcadero , Новости, патчи, ссылки, объявления, анонсы...
      А как это все пропустили новость, что появилась Delphi Community Edition?
        Цитата Profi @
        А как это все пропустили новость, что появилась Delphi Community Edition?

        Если сравнить community-редакцию Visual Studio и "это", то... Эмбарики дают нечто странное: годовая лицензия, которую надо продлять; инсталер только через веб; отдельно Delphi и отдельно Builder.
          Цитата Mr.Delphist @
          Если сравнить community-редакцию Visual Studio и "это", то... Эмбарики дают нечто странное: годовая лицензия, которую надо продлять; инсталер только через веб; отдельно Delphi и отдельно Builder.

          Интернет не равенство в России устранено.
          После установки RAD вы можете доставить любой компонент: Delphi, C++ и др.

          Зато 32 и 64 исходный код RTL открыт. Редактор не обрезан, есть рефакторинг.
            Цитата Mr.Delphist @
            инсталер только через веб

            Исошник есть
            Там даже Фастрепорт есть в комплекте
              Тут по миру представляют новую версию дельфи, Delphi Rio.
              Из интересного:
              inline variables:

              ExpandedWrap disabled
                begin
                  var s: string = 'kfjhekfcje';
                  for var i: Integer := 10 to 20 do ...
                end;


              вывод типов для них:

              ExpandedWrap disabled
                begin
                  var dict := TDictionary<string, string>.Create;
                end;


              возможность переопределить оператор присваивания и файнализатор для рекордов.

              Правда когда выйдет это чудо - пока не ясно.
                Всё ж какой запас был заложен по синтаксису языка, что новые фичи до сих пор можно добавлять, не ломая предыдущих правил и не обкладываясь прагмами! Браво, мистер Вирт, браво!
                  Цитата jack128 @
                  Правда когда выйдет это чудо - пока не ясно.

                  Да, пока что они говорят
                  Цитата
                  Our 10.3 Rio release is coming soon
                    Цитата jack128 @
                    inline variables:

                    А в каких случаях их выгодно использовать?
                      Цитата ^D^ima @
                      А в каких случаях их выгодно использовать?

                      В смысле "выгодно" ?
                        Цитата jack128 @
                        В смысле "выгодно" ?

                        Как я понимаю это новшество позволяет в блоке begin end создавать новые переменные, не объявленные в var. вот и спрашиваю в каких случаях это будет лучше чем просто написать переменную в var?
                          Цитата ^D^ima @
                          вот и спрашиваю в каких случаях это будет лучше чем просто написать переменную в var?


                          Да, забыл упомянуть, эти переменные будут иметь block scope. Так что всех случаях будет НЕ хуже классического объявления. Где то так же, где лучше.
                          например такая запись for var i := 0 to Items.Count - 1 do тут же пофиксит классический баг новичков - использование счетчика цикла за пределами тела цикла.

                          Добавлено
                          или например так:
                          ExpandedWrap disabled
                            begin
                              if ... then
                              begin
                                var XmlDoc := LoadXmlDocument(Filename);
                                DoWork(ParseXml(XmlDoc));
                              end;
                              DoOtherWork();
                            end;


                          Если XmlDoc вынести в блок var, то пиковое потребление памяти вырастит, потому что XmlDoc уничтожится только в конце процедуры.

                          Да и вообще переменные всегда лучше объявлять как можно ближе к месту их использования. Ты ж не объявляет полем переменную, используемую только в одном методе? Так зачем же объявлять переменную видимой везде в методе, если она нужно только в теле цикла?
                          Сообщение отредактировано: jack128 -
                            Собственно вот, авторы статей, текстов и постов подтянулись. Общий обзор фичи, влияние на производительность
                              Цитата jack128 @
                              Если XmlDoc вынести в блок var, то пиковое потребление памяти вырастит, потому что XmlDoc уничтожится только в конце процедуры.

                              Delphi стал управляемым языком? :blink:
                                На столько же на сколько C++ управляемый. Для того чтобы при выходе за скоуп уничтожить объект - быть управляемым языком не обязательно.
                                В данном конкретном случае - XmlDoc - переменная интерфейсного типа, для них работает подсчет ссылок.
                                Сообщение отредактировано: jack128 -
                                  Цитата jack128 @
                                  В данном конкретном случае - XmlDoc - переменная интерфейсного типа, для них работает подсчет ссылок.

                                  Это я помню. :yes:
                                  Цитата jack128 @
                                  Для того чтобы при выходе за скоуп уничтожить объект - быть управляемым языком не обязательно.

                                  То есть, если у меня у функции в var определена ссылочная переменная, я могу не вызывать в конце функции Free для, так как компилятор все сделает сам?
                                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                  0 пользователей:


                                  Рейтинг@Mail.ru
                                  [ Script execution time: 0,0657 ]   [ 19 queries used ]   [ Generated: 29.03.24, 05:19 GMT ]