Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / WinAPI

Выпуск № 469
от 03.10.2007, 12:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 395, Экспертов: 38
В номере:Вопросов: 1, Ответов: 2


Вопрос № 103684: Здравствуйте уважаемые эксперты! Написал, небольшую программу, которая использует потоки. При создании потока выделяется много памяти (видно в Диспетчере Задач), а после уничтожения потока, память не освобождается. У меня такой вопрос как можно освоб...

Вопрос № 103.684
Здравствуйте уважаемые эксперты! Написал, небольшую программу, которая использует потоки. При создании потока выделяется много памяти (видно в Диспетчере Задач), а после уничтожения потока, память не освобождается. У меня такой вопрос как можно освободить память, удалить не нужные больше переменные, формы и т.п.?
Отправлен: 28.09.2007, 12:08
Вопрос задал: Geograph (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Drbear
Здравствуйте, Geograph!

Попробуйте использовать процедуру New(<имя указателя>);
напр.:
var mem: ^ real;
...
new(mem); // объявим переменную
mem^ := 3.7; // выделим память

или

type
rec = record
s1: strig(2);
i1:integer;
end;
var mem: ^rec;
with mem^ do
begin
s1 := 'tratata';
i1 := 111;
end;
освободим память:
Dispose(mem);

или

выделяем GetMem(<имя указателя>,<объем памяти байт>);
GetMem(mem, SizeOf(real))
освобождаем память FreeMem(<имя указателя>,<объем памяти байт>);
FreeMem(mem, SizeOf(rec));

вместо GetMem можно использовать AllocMem(si: Cardinal): Pointer;

осталось сделать указатель на поток
Ответ отправил: Drbear (статус: 2-ой класс)
Ответ отправлен: 28.09.2007, 16:05
Оценка за ответ: 5
Комментарий оценки:
Обязательно попробую, спасибо!

Отвечает: Lestat de Lionkur
Здравствуйте, Geograph!
Внутри потока по возможности не используй глобальные переменные, освобождай память, запрошенную тобою вручную, а остальное за тебя сделает система.
Ответ отправил: Lestat de Lionkur (статус: 1-ый класс)
Ответ отправлен: 29.09.2007, 00:19
Оценка за ответ: 5
Комментарий оценки:
Спасибо за совет


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.60.10 от 27.09.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное