![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| ZufuS |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 237 Регистрация: 12.7.2006 Репутация: нет Всего: нет |
Сначала я объявил компоненты глобально, а форме задал тип TForm и при использовании
Всё было хорошо. Потом появилась нужда создать для них класс и переместить их туда.
а создание формы я изменил на
Когда происходит событие, содержащее эту операцию, появляется ошибка: Resource TCoef not found. Если TCoef наследовать не от TForm, а от TForm1(объекту этого класса и принадлежит кнопка, вызывающая создание формы Coef), то ошибки не будет. |
||||||
|
|||||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
ZufuS, Для создания другой формы воспользуйтесь стандартными средствами среды, тогда у вас не возникнут проблемы такого плана.
1) меню File -> New -> Form появится новая форма. Сохраните ее в отдельный модуль 2) меню Project -> Options -> Forms -> Auto-create forms выделите вашу форму и нажмите на кнопку со стрелочкой вправо, тем самым вы запретите ее автосоздание и получите тотже эффект, что и хотели, но для этой формы создастся ресурс, без которого она не могла бы запускаться. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| ZufuS |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 237 Регистрация: 12.7.2006 Репутация: нет Всего: нет |
Про это мне известно. Но я пишу не для себя программу, а курсовую. Преподавателю нужно чтобы она создавалась динамически.
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Все верно, она и будет создаваться динамически, я же показал как ее убрать из списка автосоздаваемых форм. После запуска программы ее не будет вообще в памяти, в нужное время пишете так как вы хотели и она создастся. Ее так же можно уничтожать в произвольный момент. Не переживайте, препод именно это и имел ввиду, потому что без своего собственного ресурса форма не создастся (т.е. каждой форме должен соответствовать свой *.dfm файл, который затем превращается в ресурс экзешника), такова уж задумка авторов VCL. Все остальное будет изврат. Не думаю, что преподаватель хочет научить вас чему-то плохому. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| ZufuS |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 237 Регистрация: 12.7.2006 Репутация: нет Всего: нет |
Ещё он писал при закрытии формы Form2.Free. Я пишу этот метод в кнопку с ModalResult'ом равным mrOk. И при её нажатии происходит ошибка в этой строке.
|
|||
|
||||
| Savek |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 355 Регистрация: 10.4.2006 Где: Воронеж Репутация: нет Всего: 7 |
Form.Free если хочешь уничтожить дочернюю форму (лучше FreeAndNil()), а если хочешь чтобы форма уничтожалась при закрытии, то в OnClose формы нужно написать
|
|||
|
||||
| Bitter |
|
|||
![]() Опытный лентяй ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1209 Регистрация: 15.8.2004 Где: Харьков, Ukraine Репутация: нет Всего: 27 |
для того, чтобы создать вот это:
TCoef = class(TForm) ... Coef : TCoef; нужно написать так:
и всё будет чики-чики Это сообщение отредактировал(а) Girder - 21.12.2006, 12:33 |
|||
|
||||
| Golden Hands |
|
|||
![]() Золотой ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2023 Регистрация: 23.1.2005 Где: Екатеринбург Репутация: нет Всего: 83 |
-------------------- Мы обречены... но только на победу! Настанет день, и мы построим новый дом. Внесем в него тепло, что сохранить сумели, И воскресим все то, что в нас когда-то умерло... © Тень Света |
|||
|
||||
| ZufuS |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 237 Регистрация: 12.7.2006 Репутация: нет Всего: нет |
Действительно достаточно было убрать из списка форм, создаваемых автоматически. Вот только когда caFree или nil пишу в закрытии формы, при втором заходе в эту форму в приложении вылезает ошибка и ругается на строку Form2.ShowModal; (в задании сказано: форма для ввода коэффициентов создается как модальная и после выполнения операции ввода закрывается с освобождением памяти (на всякий случай))
|
|||
|
||||
| ZufuS |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 237 Регистрация: 12.7.2006 Репутация: нет Всего: нет |
Создаю новую форму. Убираю из списка форм, создаваемых автоматически. Для нажатия кнопки на первой форме пишу Form2.ShowModal. Когда ее нажимаю в приложении появляется ошибка. Чего не хватает?
-- всё, разобрался, всем спасибо Это сообщение отредактировал(а) ZufuS - 19.12.2006, 02:05 |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |