| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Освобождение памяти от string |
| Автор: Gershkovich 27.12.2006, 18:13 | ||||||
| Всем привет! У меня такая ситуация : В DLL формирую строку - выделяю память через HeapAlloc, заполняю ее какими-нить символами и возвращаю в основную программу (Delphi) указатель на нее В основоной программе есть вот такой класс:
и создаю строку
FarCallResult : integer - это то что вернула ДЛЛ Все работает нормально. Вопрос: освободится ли память после освобождения объекта ???
Или мне надо самому ручками удалять через HeapFree ? |
| Автор: Snowy 27.12.2006, 18:31 |
| Не выделяй память - пусть это делает вызывающая программа. |
| Автор: Gershkovich 27.12.2006, 18:45 | ||
| Все таки интересно куда девается строка скажем в случае явного задания строки:
|
| Автор: Romikgy 27.12.2006, 19:44 |
| имхо никуда, просто ссылка на эту строку обняляется, чем разрешает писать на место строки любые данные |
| Автор: W4FhLF 27.12.2006, 20:04 |
| HeapFree удаляет из управляющей структуры кучи запись об этом участке и заполняет участок "случайными" данными, строка в памяти существовать перестаёт. |
| Автор: bems 27.12.2006, 20:06 |
| Value освобождается. A результат HeapAlloc нужно освободить руками Добавлено @ 20:08 клас! А зачем она это делает, а? |