![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Ответственность за освобождение памяти динамического массива в DelphiDelphi , ОС и Железо , Справочник по сообщениямВ статье рассматривается вопрос ответственности за освобождение памяти динамического массива в Delphi, созданного с помощью системы HTTORIO. Автор статьи описывает ситуацию, когда в отдельном потоке происходит вызов веб-сервиса, а результаты вызова передаются основной форме. Вопрос заключается в том, кто несет ответственность за освобождение памяти динамического массива и его объектов, созданных системой HTTORIO. Подтвержденный ответ заключается в том, что Однако в коде автора есть проблема: он передает динамический массив через сообщение,PostedMessage. Когда процедура Легкий способ обойти это - очистить ссылку в обработчике события таймера без уменьшения ссылочного счетчика, а затем сделать обратное в обработчике сообщения. После отправки сообщения очистите переменную:
В обработчике сообщения очистите старое значение глобальной переменной
Еще одна потенциальная проблема, скрывающаяся в коде автора, связана с использованием В статье рассматривается вопрос ответственности за освобождение памяти динамического массива в Delphi, созданного с помощью системы HTTORIO, при передаче данных через несколько потоков, в том числе при использовании TTimer в не-VCL-потоке. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Справочник по сообщениям ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |