UniDAC. 6.3.11. Exe + Dynamic library = Access Violation

Обсуждение возникших проблем, предложений и ошибок UniDAC компонентов
Закрыто
pavel_mehonoshin
Сообщения: 2
Зарегистрирован: Ср 27 апр 2016 10:48

UniDAC. 6.3.11. Exe + Dynamic library = Access Violation

Сообщение pavel_mehonoshin » Ср 27 апр 2016 11:07

UniDAC. 6.3.11.
Embarcadero® RAD Studio XE8 Version 22.0.19908.869 Update 1

После перевода большого проекта на UniDAC стала возникать ошибка при выходе из программы - Access Violation. Стали от проекта по очереди отцеплять всё что можно.
Дошли до простейшей ситуации, в которой воспроизводится ошибка.

Есть 2 проекта: один - EXE, другой - DLL.

В Exe в uses помещаем UNI.
В DLL в uses помещаем UNI.

В Exe динамически подгружаем DLL (даже не вызываем из неё ничего после этого).
После чего завершаем приложение.
Выходит Access Violation.

Код: Выделить всё

program EXE;

uses  Vcl.Forms, Windows, Uni;

{$R *.res}
var    DLLHandle: THandle;
begin
  Application.Initialize;

  DLLHandle:=LoadLibrary(PChar('dll.dll'));
  If DLLHandle <> 0  Then FreeLibrary(DLLHandle);

  Application.Run;
end.

Код: Выделить всё

library DLL;
uses UNI;

{$R *.res}
Procedure Call_Test; stdcall; export;
Begin
End;

Exports   Call_Test;
begin
end.
Прикладываю исходники вложением (311.rar).
Также прикладываю захват экрана при работе приложения (2016-04-27_15-03-13.rar)
Вложения
2016-04-27_15-03-13.rar
(152.86 КБ) 207 скачиваний
311.rar
(59.72 КБ) 218 скачиваний

AndreyZ
Devart Team
Сообщения: 328
Зарегистрирован: Чт 08 сен 2011 13:18

Re: UniDAC. 6.3.11. Exe + Dynamic library = Access Violation

Сообщение AndreyZ » Чт 28 апр 2016 11:15

Пожалуйста уточните, какую редакцию (Edition) UniDAC вы используете? Чтобы узнать это, в главном меню RAD Studio нажмите пункт UniDAC -> About UniDAC...

Закрыто