Показать сообщение отдельно
  #8  
Старый 24.12.2021, 01:21
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,003
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

FreeAndNil вызывает тот же Free. Просто дополнительно присваивает Nil переданной переменной. Грубо говоря, реализация FreeAndNil такая:
Код:
procedure FreeAndNil(var O : TObject);
begin
  If Assigned(O) Then O.Free;
  O := Nil;
end;
Т.е. ошибка доступа совершенно не связанна с FreeAndNil. Как я понимаю, ты вызываешь FreeAndNil из основной программы. Таким образом, похоже, происходит освобождение памяти, выделенной в DLL, в основном модуле. Отсюда, походу, и ошибка. Я бы попробовал вызывать FreeAndNil из DLL.
Ответить с цитированием