Первые два предупреждения, которые вы упомянули (наряду с несколькими другими), должны дать вам понять, что код, который вы используете в настоящее время, не будет компилироваться на разных платформах, поддерживаемых Delphi. Для Delphi 2007 не так много, но он несет в себе остатки Kylix (версия для Linux, которая ушла) и Delphi для .NET (которая также ушла).
Более поздние версии Delphi поддерживают кроссплатформенность (Win32 / Win64, OS X, iOS и Android), где эти сообщения снова актуальны при разработке приложений Firemonkey (или приложений VCL, если существуют различия между Win32 и Win64). Они указывают на точки в вашем коде, где вам придется вносить изменения в ваш код для разных операционных систем. (Например, два, которые вы цитируете, относятся к диалогам, специфичным для Windows; вам нужно использовать другой диалог, основанный на целевой платформе, и использовать операторы {$IFDEF}
для областей, специфичных для платформы, чтобы предотвратить их компиляцию для других платформ.
Поскольку ваш текущий код нельзя перенести напрямую (даже в современной версии Delphi) на что-либо, кроме Windows, поскольку он основан на VCL, вы можете безопасно отключить эти предупреждения. Используйте Project->Options->Compiler Messages
и снимите флажки со следующих сообщений (или используйте определение компилятора, которое я включил в ваш код):
Library Symbol {$WARN SYMBOL_LIBRARY OFF}
Platform Symbol {$WARN SYMBOL_PLATFORM OFF}
Library Unit {$WARN UNIT_LIBRARY OFF}
Platform Unit {$WARN UNIT_PLATFORM OFF}
Unsafe type (.NET remnant) {$WARN UNSAFETYPE OFF}
Unsafe code (.NET remnant) {$WARN UNSAFECODE OFF}
Unsafe typecast (.NET remnant) {$WARN UNSAFECAST OFF}
Последние два, о которых вы упомянули, я не могу воспроизвести с помощью D2007 (IDE версия 11.0.2804.9245), поэтому я подозреваю, что ответ skamradt верный - это потому, что в вашем пути поиска есть исходные каталоги VCL и ты не должен Он должен быть установлен на $(BDS)\Lib
. Если вам нужно пройтись по источнику, используйте страницу Project->Options->Compiler
и отметьте опцию Use debug DCUs
в разделе Debugging
.