Консультация № 63218
19.11.2006, 04:38
0.00 руб.
0 6 1
Здраствуйте!Почему при выполнении оператора End не вызывается обработчик форм Unload? Ведь при выходе формы закрываются и должен срабатывать Unload! Или при использовании End формы остаются висеть в памяти?

Обсуждение

Неизвестный
19.11.2006, 09:18
общий
это ответ
Здравствуйте, Александр А.А.!

Если вы хотите не только завершить ваше приложение, но и (грамотный стиль программирования!) освободить используемую им память, вы должны использовать оператор UNLOAD. При использовании оператора END память не освобождается. Я уверен, если вы вместо данного оператора в вашей программе используете UNLOAD, все у вас получится.
Неизвестный
19.11.2006, 12:59
общий
разве память не освобождается автоматически системой, когда она видит, что приложения, занимавшего этот кусок памяти, уже нет?
Неизвестный
20.11.2006, 10:20
общий
End не завершает приложения... Приложение завершается по условию - если все выполняющиеся потоки и формы закрыты!
Неизвестный
20.11.2006, 12:50
общий
так что же происходит с формой после выполнения End?
давно
Профессионал
848
1596
20.11.2006, 15:40
общий
Вот что пишет MicroSoft по этому поводу:http://msdn2.microsoft.com/en-us/library/0wt87xba(VS.80).aspx
Неизвестный
25.11.2006, 14:20
общий
End не чистит память за приложением. Нужно предварительно выгрузить все формы (Unload FormObject), а потом уже вызывать ее. Можно и более радикально: ExitProcess 0
Форма ответа