Страница 1 из 1

Ключевое слово deprecated

СообщениеДобавлено: 19.06.2009 08:54:40
Climber
Что оно означает? Сегодня увидел первый раз, и в книжках про Delphi (даже в хороших) не встречал... Например:
Код: Выделить всё
unit Graphics;
...
  clDark = TColor(-5) deprecated;
  clMid = TColor(-6) deprecated;
  clText = TColor(-7) deprecated;

Re: Ключевое слово deprecated

СообщениеДобавлено: 19.06.2009 08:56:57
Иван Шихалев
При использовании где-либо помеченного идентификатора будет выдаваться предупреждение.

Re: Ключевое слово deprecated

СообщениеДобавлено: 19.06.2009 13:09:05
Vadim
Climber
deprecated примерно обозначает как "не рекоммендовано к использованию". Причины могут быть разные, например потому что данная штука противоречит синтаксису чего-то более нового или вообще может быть убрано, потому что устарело.

Re: Ключевое слово deprecated

СообщениеДобавлено: 04.04.2014 14:15:15
Tango
Что бы не создавать тем.
А что тогда использовать в TProcess, если на CommandLine пишет deprecated?
Покопал исходники, по видимому, ничего, как раз лучше её и использовать.

Re: Ключевое слово deprecated

СообщениеДобавлено: 04.04.2014 16:09:33
Дож
Tango писал(а):Что бы не создавать тем.
А что тогда использовать в TProcess, если на CommandLine пишет deprecated?
Покопал исходники, по видимому, ничего, как раз лучше её и использовать.


Нужно использовать Executable и Parameters, в документации описано.

Re: Ключевое слово deprecated

СообщениеДобавлено: 04.04.2014 17:03:24
vada
А вот было бы нефигово вместе с предупреждением, давать ссылку КУДА КОПАТЬ!!!! :mrgreen: А то времени на поиск маслозаменителя уходит уйма!!!!!
Вот, например, на
Код: Выделить всё
DefaultFormatSettings.DecimalSeparator := '.';

Я замены так и не нашел. Забил :(

Re: Ключевое слово deprecated

СообщениеДобавлено: 04.04.2014 18:01:55
Дож
vada писал(а):
Код: Выделить всё
DefaultFormatSettings.DecimalSeparator := '.';

Я замены так и не нашел. Забил :(


Как раз через DefaultFormatSettings — не устаревший вариант использования.

Устаревший — использовать глобальную переменную DecimalSeparator.

Re: Ключевое слово deprecated

СообщениеДобавлено: 05.04.2014 00:21:53
Максим
vada
Это всё описывается к примечаниях к выпускам.

Re: Ключевое слово deprecated

СообщениеДобавлено: 05.04.2014 11:41:17
Mirage
Максим писал(а):Это всё описывается к примечаниях к выпускам.


Т.е. чтобы узнать что использовать вместо помеченного как deprecated, надо каким-то образом узнать в каком выпуске оно было помечено и читать его примечания?
Обычно просто в комментариях там же пишут "deprecated, use xxx". Либо более развернуто.

Re: Ключевое слово deprecated

СообщениеДобавлено: 06.04.2014 01:40:08
Максим
Mirage писал(а):Т.е. чтобы узнать что использовать вместо помеченного как deprecated, надо каким-то образом узнать в каком выпуске оно было помечено и читать его примечания?

Надо читать примечания ко всем выпускам свежее того, с которого происходит обновление. Там, помимо deprecated, обычно пишут много интересного.

Re: Ключевое слово deprecated

СообщениеДобавлено: 06.04.2014 15:09:24
Mirage
Максим писал(а):Надо читать примечания ко всем выпускам свежее того, с которого происходит обновление. Там, помимо deprecated, обычно пишут много интересного.


До замены deprecated руки доходят обычно не при обновлении с выпуска на выпуск, а в произвольный момент.
Для того, собственно, оно и помечается deprecated, а не выпиливается сразу, чтобы было время.
Так что лучше таки на месте в каментах писать.

Re: Ключевое слово deprecated

СообщениеДобавлено: 07.04.2014 10:21:20
vada
Как раз через DefaultFormatSettings — не устаревший вариант использования.
Устаревший — использовать глобальную переменную DecimalSeparator.


Возможно что и нашел. Помню только что рыл информацию по этому месту очень долго. Непродуктивно долго. Это очень неудобно. Действительно, хоть в коментах рядом с deprecated написали бы какой заменой пользоваться. Лопатить гору примечаний к выпускам не вариант. У меня проект уже три года как в эксплуатации. Естественно, за выпусками не слежу. У меня другой проект и на другом языке. Баг обнаружился. Я его поправил и получил уведомление что у меня где-то там какой-то метод deprecated. Чтоб привести все должный порядок надо потратить не один день. Это полная фигня. И так есть чем заняться.

Re: Ключевое слово deprecated

СообщениеДобавлено: 11.10.2016 00:46:40
tema
Tango писал(а):Что бы не создавать тем.
А что тогда использовать в TProcess, если на CommandLine пишет deprecated?
Покопал исходники, по видимому, ничего, как раз лучше её и использовать.

Я заменил
Код: Выделить всё
  AProcess.CommandLine:='ip a';

на
Код: Выделить всё
  AProcess.Executable := 'ip';
  AProcess.Parameters.Add('a');

Больше не ругается :D