Подскажите пожалуйста, как лучше работать с многоформовыми проектами: пусть они будут AutoCreate или создавать их с помощью Application.formcreate… Я в том смысле что - не занимают ли невидимые формы оперативку?
Уважаемые авторы вопросов! Большая просьба сообщить о результатах решения проблемы на этой странице. Иначе, следящие за обсуждением, возможно имеющие аналогичные проблемы, не получают ясного представления об их решении. А авторы ответов не получают обратной связи. Что можно расценивать, как проявление неуважения к отвечающим от автора вопроса.
09-09-2005 19:20
Ктстати для уничтожения формы используется Release
Form1.Release. Почитайте в хелепе подробней для чего.
Если форм в проекте немного, например, пять, то вряд ли есть разница - автоматически создается форма или нет, расход памяти будет незначительным. Если форм несколько десятков, то лучше создавать их по мере обращения к ним, это позволит сэкономить память и уменьшить время запуска программы. Обычно я не уничтожаю созданные формы при закрытии, так как крайне маловероятно, что пользователь использует в процессе работы большое число форм, обычно создаются самые часто используемые. Ну и в заключение хочу добавить, что MDI-child формы спрятать нельзя, так что выбора нет - приходится их уничтожать при закрытии.
Занимать то занимают, но во первых не так уж много, во вторых это не зря. Если нужно, чтобы содержимое формы (тексты в editах, выбор в radiobuttonах и т.д.) сохранялось с последнего ее вызова и/или было доступно для невидимой формы, то проще создать и хранить форму, чем каждый раз создавать форму и выставлять свойства, перезаписывать их в глобальные переменные при закрытии и т.д.
Так что общей рекомендации нет, недаром дельфи предоставляют этот выбор.
Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter. Функция может не работать в некоторых версиях броузеров.