![]() |
|
#2
|
|||
|
|||
![]() Аналогичная проблема.
Подгружаю ДЛЛ, вызываю метод. Получаю record. Сохраняю в другом экземпляре record'а. После выгрузки Длл инфа исчезает. Разве record в Делфи не value тип? Пробовал так. Распределял память в куче для своего рекорда (при помощи New). Копировал инфу из адреса рекорда, который возвращала Длл в место по новому адресу (при помощи CopyMemory а не простым присваиванием, а то вдруг только ссылки копирнет). Все равно после выгрузки ДЛЛ в новой переменной инфа исчезала. Детально посмотрел адреса в отладчике. Оказалось хоть адрес нового экземпляра моей структуры и лежал в куче приложения, но адреса полей структуры указывали на адрес, по которому загружена ДЛЛ а не на сегмент данных приложения. Тоесть как и была инфа по адресу, выданному ДЛЛ, так там и осталась, а копировались только ссылки. Последний раз редактировалось AlexZL, 03.12.2006 в 20:50. |