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

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

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

Сообщение Climber » 19.06.2009 08:54:40

Что оно означает? Сегодня увидел первый раз, и в книжках про Delphi (даже в хороших) не встречал... Например:
Код: Выделить всё
unit Graphics;
...
  clDark = TColor(-5) deprecated;
  clMid = TColor(-6) deprecated;
  clText = TColor(-7) deprecated;
Climber
постоялец
 
Сообщения: 415
Зарегистрирован: 03.06.2007 20:09:57
Откуда: Москва

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

Сообщение Иван Шихалев » 19.06.2009 08:56:57

При использовании где-либо помеченного идентификатора будет выдаваться предупреждение.
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

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

Сообщение Vadim » 19.06.2009 13:09:05

Climber
deprecated примерно обозначает как "не рекоммендовано к использованию". Причины могут быть разные, например потому что данная штука противоречит синтаксису чего-то более нового или вообще может быть убрано, потому что устарело.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

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

Сообщение Tango » 04.04.2014 14:15:15

Что бы не создавать тем.
А что тогда использовать в TProcess, если на CommandLine пишет deprecated?
Покопал исходники, по видимому, ничего, как раз лучше её и использовать.
Аватара пользователя
Tango
постоялец
 
Сообщения: 162
Зарегистрирован: 31.05.2012 17:07:30

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

Сообщение Дож » 04.04.2014 16:09:33

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


Нужно использовать Executable и Parameters, в документации описано.
Аватара пользователя
Дож
энтузиаст
 
Сообщения: 899
Зарегистрирован: 12.10.2008 16:14:47

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

Сообщение vada » 04.04.2014 17:03:24

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

Я замены так и не нашел. Забил :(
Аватара пользователя
vada
энтузиаст
 
Сообщения: 691
Зарегистрирован: 14.02.2006 13:43:17

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

Сообщение Дож » 04.04.2014 18:01:55

vada писал(а):
Код: Выделить всё
DefaultFormatSettings.DecimalSeparator := '.';

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


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

Устаревший — использовать глобальную переменную DecimalSeparator.
Аватара пользователя
Дож
энтузиаст
 
Сообщения: 899
Зарегистрирован: 12.10.2008 16:14:47

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

Сообщение Максим » 05.04.2014 00:21:53

vada
Это всё описывается к примечаниях к выпускам.
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 598
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

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

Сообщение Mirage » 05.04.2014 11:41:17

Максим писал(а):Это всё описывается к примечаниях к выпускам.


Т.е. чтобы узнать что использовать вместо помеченного как deprecated, надо каким-то образом узнать в каком выпуске оно было помечено и читать его примечания?
Обычно просто в комментариях там же пишут "deprecated, use xxx". Либо более развернуто.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

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

Сообщение Максим » 06.04.2014 01:40:08

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

Надо читать примечания ко всем выпускам свежее того, с которого происходит обновление. Там, помимо deprecated, обычно пишут много интересного.
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 598
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

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

Сообщение Mirage » 06.04.2014 15:09:24

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


До замены deprecated руки доходят обычно не при обновлении с выпуска на выпуск, а в произвольный момент.
Для того, собственно, оно и помечается deprecated, а не выпиливается сразу, чтобы было время.
Так что лучше таки на месте в каментах писать.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

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

Сообщение vada » 07.04.2014 10:21:20

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


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

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

Сообщение tema » 11.10.2016 00:46:40

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

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

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

Больше не ругается :D
tema
постоялец
 
Сообщения: 375
Зарегистрирован: 24.03.2011 20:19:27


Вернуться в Общее

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

Рейтинг@Mail.ru