|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.09.2019, 22:16 | #1 |
Форумчанин
Регистрация: 12.09.2008
Сообщений: 621
|
Переменная TBitmap, поочередное присвоение значений других переменных этого типа
Здравствуйте!
Задача такая: Есть PageControl с двумя вкладками. Нужно чтоб в PaintBox1 отображалась картинка, в зависимости от активной вкладки. Картинки хранятся в двух переменных, vbmapFs и vbmapRs: TBitmap; Я пытался делать так, но, при закрытии программы, выходит ошибка: Код:
|
26.09.2019, 01:56 | #2 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,869
|
Что вы делаете при закрытии программы?
Например такая ошибка возникает при попытке уничтожения объекта более одного раза. Последний раз редактировалось northener; 26.09.2019 в 02:04. |
26.09.2019, 11:05 | #3 | |
Форумчанин
Регистрация: 12.09.2008
Сообщений: 621
|
Цитата:
Код:
|
|
26.09.2019, 11:57 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
|
27.09.2019, 03:17 | #5 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,869
|
|
27.09.2019, 10:26 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
|
28.09.2019, 01:28 | #7 | |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,869
|
Цитата:
Вот только я не вижу смысла в TForm.FormCreate() создавать объекты с владельцем nil. А именно в этом и только в этом случае их нужно удалять ручками в TForm.FormDestroy(). Если же указать владельцем саму форму (ну это как бы должно являться нормой), то они удалятся автоматом как члены списка Components. |
|
28.09.2019, 07:49 | #8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
А объекты вообще без владельца? Bitmap тот же. Или явно захваченная память?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
29.09.2019, 02:23 | #9 | |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,869
|
Цитата:
Для объектов создаваемых в OnCreate главной формы, имхо, нет необходимости ручками уничтожать их. Память им выделенная всё равно вернётся в ОС. А у ТС похоже речь идёт именно о главной форме. В неглавной/вторичной форме действительно нужно уничтожать такие объекты ручками, если эта форма создается и уничтожается неоднократно при работе приложения. Но во-первых много ли вы вспомните примеров таких вторичных форм? А во-вторых почему именно OnDestroy, а не OnClose? Не ну я ни в коем разе не возражаю против существования метода OnDestroy у TForm. Лишняя соломка не повредит. Последний раз редактировалось northener; 29.09.2019 в 02:53. |
|
02.11.2019, 16:23 | #10 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как присвоить одной переменной последовательность текстовых значений других переменных | WildWhiteRabbit | Помощь студентам | 4 | 01.06.2015 09:58 |
я ничего из этого не понимаю надеюсь на других (понимающих) | Жуан | Фриланс | 9 | 28.01.2012 23:23 |
если я хочу чтобы переменная была рандом, нужно просто написать, что типа а:=random? какой это будет тип переменных? | gylayko | Помощь студентам | 6 | 04.10.2011 12:58 |
Присвоение значений | SilentM | Общие вопросы C/C++ | 4 | 15.09.2011 13:10 |
Отображение значений переменных типа float и double(Языки Pascal и C) | Сырно | Помощь студентам | 3 | 17.10.2010 18:37 |