Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.08.19;
Скачать: [xml.tar.bz2];

Вниз

Как лечить   Найти похожие ветки 

 
Aleksandr   (2002-08-07 15:13) [0]

Достали меня эти сообщения компилятора. В коде:

procedure TStringCollectionList.SetStr( I : integer; Value: ShortString);
begin
DisposeStr( PString( Items[I]));
Items[I] := NewStr( Value)
end;

он предупреждает, что Symbol "DisposeStr" is deprecated и Symbol "NewStr" is deprecated. Чего ему надо?

и в коде
Result := GlobalAllocPtr(HeapAllocFlags, NewCapacity)

он о HeapAllocFlags он предупреждает, что Specific to a platform. То же с unit FileCtrl. Не просто же так компилер ругается? Какими-нить дефайнами это лечить, что ли?


 
Gonza   (2002-08-07 15:41) [1]

Нажми F1 на этих сообщениях и он тебе поможет


 
Ученик   (2002-08-07 15:45) [2]

Help-Delphi Delp-Index-$WARN


 
ZrenBy   (2002-08-07 15:45) [3]

{$WARN UNIT_PLATFORM OFF}
и т.д и т.п.


 
Aleksandr   (2002-08-07 17:22) [4]

Да в курсе я их... только одна проблема - он чихать хотел на эти директивы. Все равно показывает.


 
Ученик   (2002-08-07 17:26) [5]

А где они поставлены ?


 
Внук   (2002-08-07 17:32) [6]

function NewStr(const S: string): PString;

Description

Do not use NewStr in new applications. This function is provided for backward compatibility only.

procedure DisposeStr(P: PString);

Description

DisposeStr is only provided for backward compatibility with existing code that allocated a string using NewStr. Both DisposeStr and NewStr are obsolete.

То же самое можно сказать про GlobalAllocPtr...
Поэтому не от сообщений нужно избавляться, а от подобных вызовов, IMHO


 
Aleksandr   (2002-08-08 12:12) [7]

2 Внук:

Во-во, именно это меня и интересовало. В том плане, что конкретно следует сделать в приведенных кодах и какие последствия это повлечет? Сорри, моего английского для толкования Хелпа не хватает. Я из него понимаю только, что методы эти - пережиток древности (а как эта программа будет работать в Windows"95 - не окажется ли, что там эта древность и нужна)?


 
Anatoly Podgoretsky   (2002-08-08 12:16) [8]

Да надо не с последствиями бороться, а с причинами.
А к чему приведет, ну скажем к поиску неожиданных ошибок, сказано не использовать, так будь законопослушным членом общества.


 
Ученик   (2002-08-08 12:46) [9]

А на что надо менять использование FileCtrl ?


 
Внук   (2002-08-08 13:06) [10]

Aleksandr © (08.08.02 12:12)
"а как эта программа будет работать в Windows"95 "
Термин обратной совместимости (backward compatibility) здесь имеет немного другое значение. Представь, программа написана N лет назад. Естественно, она использует вызовы устаревших функций и процедур. Если убрать их поддержку в новых ОС, то эти программы перестанут работать, например, на Win2000. Поэтому их и оставляют. По сути же эти функции представляют собой заглушки, которые либо перенаправляют вызовы новым функциям, либо не делают ничего (последнее относится к некоторым устаревшим функциям в модулях Delphi, компилятор сам вставляет необходимый код вместо вызова устаревшей функции). Новые же функции обязаны работать в любых версиях ОС, поэтому и старые программы работают в них. То есть опасения напрасны, если особо не оговорено противное.
О таких нерациональных вызовах и предупреждает компилятор. На что их менять - этот вопрос не сложен, думаю и сам справишься.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.08.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.007 c
4-60898
whc
2002-06-14 19:13
2002.08.19
Вставка контролов в ячейки StringGrid


1-60727
BlackSun
2002-08-07 10:20
2002.08.19
Почтовый клиент


1-60722
Dim!S
2002-08-07 07:28
2002.08.19
StringGrid


14-60837
Ajax
2002-07-23 21:56
2002.08.19
hoha.ru


1-60560
GreatQuaker
2002-08-07 10:23
2002.08.19
Сетевой принтер





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский