Форум: "Основная";
Текущий архив: 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.009 c