Страница: 1 | 2 |
To Sharp: блин, не перезагружал, каюсь. Попробовал с перезагрузкой - распределение памяти выровнялось ( одинаково и при End и при Unload) - ни вашим, ни нашим. Насчет памяти разобрались. 2Павел: В асме с одной формой в стандартном приложении пишут что-то типа: ... .IF uMsg==WM_DESTROY PostQuitMessage,NULL ... Или чего-то в этом роде. Но VB, кажется, делает иначе. Проведите кто-нибудь эксперимент: создайте модуль и в нем объявите большой, нет БОЛЬШОЙ массив. Вызовите из модуля формы, замерьте память, выгрузите, снова замерьте. Убейте процесс - замерьте. Корректно завершите процесс - снова замерьте. Это должно быть интересно 2Sharp Попробовал свершить эксперимент. Свершил. Результат - распределение памяти почти одинаковое и при End и при Unload. Но что интересно: если убивать процесс из Task Manager памяти освобождается больше! Т.е. и End и Unload что-то оставляют! А БОЛЬШОЙ массив объявлялся в модуле? И насколько он был большой? Ведь после Unload Form1 массив должен по-прежнему быть доступен в модуле. Что же касается убийства - здесь, наверно, дело в том, что, корректно завершаясь, программа оставляет в памяти свои DLL, вдруг кому-нибудь еще пригодятся, а убиение выгружает еще и DLL?
Вопрос: Как правильно заканчивать работу программы
Добавлено: 12.12.03 19:29
Автор вопроса: NightVolk | Web-сайт:
Ответы
Всего ответов: 19
Номер ответа: 16
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #16
Добавлено: 15.12.03 16:24
Номер ответа: 17
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #17
Добавлено: 15.12.03 16:45
Номер ответа: 18
Автор ответа:
Ворон
ICQ: 178095693
Вопросов: 6
Ответов: 24
Профиль | | #18
Добавлено: 15.12.03 18:41
Номер ответа: 19
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #19
Добавлено: 16.12.03 02:10