Аскар Джакишев Posted February 13 Share Posted February 13 Посмотрел ваши видео о FGX , вывел излишний функционал в другие формы, но как я понял, в Project - > Options - > forms они не отображаются, следовательно создаются вместе с основной формой при запуске. Не является ли это утечкой памяти в будущем и как я понял, необходимые действия надо делать при onShow, либо при запуске проекта уничтожать все формы кроме главной и создавать экземпляры по необходимости ? Можете дать развернутый ответ, так как сложно это осознать вот так вот сразу ))). Quote Link to comment Share on other sites More sharing options...
dervish00 Posted February 14 Share Posted February 14 (edited) @Аскар Джакишев Удалите в файле проекта (*.dpr) строки вида Application.CreateForm (кроме главной, конечно) и далее распоряжайтесь Вашими вторичными формами из главной. Edited February 14 by dervish00 1 2 Quote Link to comment Share on other sites More sharing options...
Administrators Yaroslav Brovin Posted February 14 Administrators Share 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 Link to comment Share on other sites More sharing options...
Аскар Джакишев Posted February 14 Author Share Posted February 14 благодарю, теперь все понятно. Quote Link to comment Share on other sites More sharing options...
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.