Что случилось с Application.handle в Delphi XE? - PullRequest
2 голосов
/ 22 февраля 2011

Я портирую некоторый код в Delphi XE и заметил, что если я использую Application.Handle, чтобы получить дескриптор программы, Delphi выдает мне ошибку и отказывается компилировать, говоря:

Undeclared identifier: 'Handle'

Такое же поведение происходит, когда я пытаюсь вызвать Application.ProcessMessages. Я полагаю, что-то изменилось, чего не было в руководстве по миграции Unicode.

Куда делись функции и переменные для «Приложения»?

1 Ответ

12 голосов
/ 23 февраля 2011

Мои умственные способности отладки говорят мне, что этот модуль импортирует SvcMgr после того, как импортирует Forms, и поэтому переменная Application в SvcMgr выводит ту, которую вы хотите в Forms, из области видимости.Или, возможно, виновником является WebBroker или CtlPanel.

. Вы можете определить, что это, нажав CTRL на переменную Application в точке первой ошибки, и вы попадете в юнит.это не Forms.

Решение состоит в том, чтобы просто изменить порядок импорта, чтобы Forms следовал за остальными.

С другой стороны, мои способности по отладке психики могут бытьсломано сегодня!

...