Delphi 7 предвидение помощников класса - PullRequest
3 голосов
/ 23 июня 2011

Сегодня мне довелось скомпилировать, используя Delphi 7, код с определением класса, подобным этому

type TAudioStream = class helper of TStream;

, и, к моему удивлению, компилятор плюнул

"Системаобъект устарел или поврежден: отсутствует TClassHelperBase .

Похоже, что в Delphi7 уже зарезервировано слово helper.

Delphi представила классы Helper в Delphi 8. Они предназначались для привязки VCL к .Net.Итак, является ли Delphi7 пророческим?

Ответы [ 3 ]

4 голосов
/ 23 июня 2011

Я не уверен, если это реальный вопрос. Резервирование ключевых слов для будущей реализации является обычной практикой. Дорожная карта и планируемые функции для Delphi 8 должны быть указаны на дату выпуска Delphi 7. Так что да, я думаю, что Delphi 7 в этом случае предвидит.

1 голос
/ 23 июня 2011

Помните, что в Delphi 7 был включен «компилятор предварительного просмотра .Net». Delphi 7 знал о некоторых новых функциях, и, очевидно, он даже немного знал о реализации этих функций - он знал достаточно, чтобы ожидать, что определенные вещи будут в системном блоке, и жаловаться, когда их нет.

1 голос
/ 23 июня 2011

Очень часто дизайнеры языка резервируют определенные слова для будущего использования.Например, class и interface были зарезервированы слова в JavaScript для ... что, десять лет назад ... даже если они не будут использоваться в течение еще нескольких лет.goto - это зарезервированное слово в Java, даже если оно никогда не ожидается для использования.

Авторы компиляторов также довольно часто используют функции для будущего использования.Например, дженерики уже были реализованы в компиляторе Sun 1.2 javac от Sun, хотя они не были добавлены в спецификацию языка до Java 5.

...