Я получаю сообщение об ошибке несовместимых типов TFormClass и Class Reference - PullRequest
1 голос
/ 16 октября 2010

Я улучшаю программу на Delphi ... Есть процедура, которая ожидает TFormClass аргумент (class of TForm).

Я передал в TForm1 или что-то подобное, и оно не понравилось.Например, procname(TForm1); В программе есть другие формы, которые аналогично передаются в программе, но для них таких ошибок компиляции нет.

Например, есть другая форма, которая передается и определяется как

type TForm4 = class(TForm)
....
procname(TForm4);

Это не вызывает ошибку компиляции.

Моя форма определена как тип

  TForm1 = class(TForm)...

Выглядит похоже, верно?Какова может быть причина, по которой это не принимается компилятором?

Почему другие принимаются?В чем может быть разница?

Спасибо.

1 Ответ

0 голосов
/ 20 октября 2010

Прежде всего, я не писал эту программу.Я улучшил его ... В программе был модуль, который был импортирован во все модули, где проблема не возникла.

Пусть он будет называться "UnitWithAdditionalTFormDotDefinitions".

Решение было простым.1005 *

в начале блока n, когда появилось это сообщение об ошибке, я изменил оператор использования.

E, g.

использует Unit1, Unit2, Forms;// это было исходное состояние или подобное

После того, как

использует Unit1, Unit2, Forms, UnitWithAdditionalTFormDot;

...