Аскар Джакишев Posted February 13 Posted February 13 Посмотрел ваши видео о FGX , вывел излишний функционал в другие формы, но как я понял, в Project - > Options - > forms они не отображаются, следовательно создаются вместе с основной формой при запуске. Не является ли это утечкой памяти в будущем и как я понял, необходимые действия надо делать при onShow, либо при запуске проекта уничтожать все формы кроме главной и создавать экземпляры по необходимости ? Можете дать развернутый ответ, так как сложно это осознать вот так вот сразу ))). Quote
dervish00 Posted February 14 Posted February 14 (edited) @Аскар Джакишев Удалите в файле проекта (*.dpr) строки вида Application.CreateForm (кроме главной, конечно) и далее распоряжайтесь Вашими вторичными формами из главной. Edited February 14 by dervish00 1 2 Quote
Administrators Yaroslav Brovin Posted February 14 Administrators Posted February 14 On 2/13/2024 at 5:37 PM, Аскар Джакишев said: как я понял, в Project - > Options - > forms они не отображаются, следовательно создаются вместе с основной формой при запуске. Да. Среда, к сожалению, не дает нам возможности как-то включить этот функционал. Поэтому формы не отображаются в настройках проекта. On 2/13/2024 at 5:37 PM, Аскар Джакишев said: следовательно создаются вместе с основной формой при запуске. Вы можете руками удалить автоматическое создание форм, которые вас не интересуют. Либо добавить создание нужных форм. On 2/13/2024 at 5:37 PM, Аскар Джакишев said: Не является ли это утечкой памяти в будущем и как я понял, необходимые действия надо делать при onShow, либо при запуске проекта уничтожать все формы кроме главной и создавать экземпляры по необходимости ? Утечка памяти, это когда вы выделили эту память по какому-то указателю, а после использования ее не вернули в кучу. В данном случае, вы создали формы. И вы ими можете пользоваться сколько угодно раз. Это не является утечкой памяти. Вы можете реализовать автоматическое удаление формы при ее закрытии. Для этого можно воспользоваться свойство TfgForm.DefaultCloseAction = Free или событие OnClose вернуть значение Free для аргумента AAсtion. В этом случае, форма при закрытии автоматически будет удалена. Если вы не используете этот подход, то вы должны удалить форму тогда, когда вам нужно. 1 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.