Выводите внутривеб-формы из родительской, а не из TIWAppForm напрямую - ошибка в IDE

StackOverflow https://stackoverflow.com/questions/2227465

Вопрос

У меня есть формы в моем приложении, которые я получаю от общего предка, например:

TAtFormBaseIW = класс ( TIWAppForm ) и TAtFormExplorerIW = класс ( TAtFormBaseIW )

Это работает для определенных форм, но не для других.

Позвольте мне высказать смелое предположение:кажется, это работает для всех форм, созданных в Delphi до IW 10, но не для форм, которые я создал с помощью IW 10.Что происходит с новыми формами:Всякий раз, когда я хочу загрузить их в IDE, они интерпретируются как формы win32, некоторые свойства игнорируются (все типичные свойства win32, такие как clientWidth), и мне говорят, что я не могу поместить компоненты IW в эти формы.

Создание их прямыми потомками TIWAppForm, сохранение их и использование обычного текстового редактора для их изменения обратно работает.После перекомпиляции они нормально отображаются в браузере, но никогда в IDE.

Есть какие-нибудь идеи о том, что происходит?

Это было полезно?

Решение

Mea culpa, mea maxima culpa.Эта проблема не имеет ничего общего с IntraWeb, а с тем, как производная форма должна быть добавлена в проект.

Вместо того, чтобы просто менять TIWAppForm на TAtFormBaseIW, после добавления новой формы в проект, я должен сделать это:

Выберите в IDE

Файл / Новые / Другие / Наследуемые элементы

а затем базовая форма, из которой вы хотите вывести свою форму.

Если вы хотите превратить существующую форму в производную, также измените ведущее ключевое слово объект в файле dfm для унаследованный.

Вы можете прочитать об этом здесь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top