Извлекать формы IntraWeb из родительского элемента, а не напрямую из TIWAppForm - ошибка в IDE - PullRequest
2 голосов
/ 09 февраля 2010

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

TAtFormBaseIW = class (TIWAppForm) а также TAtFormExplorerIW = class (TAtFormBaseIW)

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

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

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

Есть идеи о том, что происходит?

1 Ответ

1 голос
/ 09 февраля 2010

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

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

Выберите в IDE

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

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

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

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

...