Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Access violation после выгрузки dll [D7]


evgenij ©   (2009-07-27 15:15:00) 

Здравствуйте!
Подскажите, плиз, с проблемкой...
Динамически загружаю длл, вызываю нужную функцию,выгружаю-все вроде ок, а при выходе из функции, которая это все делает выдает ошибку Access violation.....

function TForm1.hesh(we:String):String;
type  THesh = function(stt : String):String;
var   DLLInstance : THandle;
     md51 : THesh;
begin
DLLInstance := LoadLibrary('manager.dll');
if DLLInstance = 0 then
  begin
  MessageDlg('...... manager.dll.', mtError, [mbOK], 0);
  exit
  end;
@md51 := GetProcAddress(DLLInstance, 'md5');
if @md51 <> nil then result:=md51(we)
else MessageDlg('.....', mtError, [mbOK], 0);
FreeLibrary(DLLInstance);
end;
 
при пошаговом прохождении на последнем энде и матюкается..

Спасибо.


evgenij   (2009-07-27 15:53:00) [1]

спасибо....помогло...


Юрий Зотов   (2009-07-27 15:48:00) [2]

> evgenij   (27.07.09 15:39) [6]

Кроме того, есть подозрение, что uses в EXE взят из главной формы, а не из DPR.


Сергей М.   (2009-07-27 15:41:00) [3]


> evgenij   (27.07.09 15:39) [6]


В обоихdpr юнит ShareMem должен быть указан самым первым.


Palladin   (2009-07-27 15:41:00) [4]


> [6] evgenij   (27.07.09 15:39)

File/New/Other/New/DLL Wizard и внимательночитаем написанное


Palladin   (2009-07-27 15:40:00) [5]

то есть комментарии в dll начисто проигнорированны... )


evgenij   (2009-07-27 15:39:00) [6]

в ехе:
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, Buttons, Mask, ComboBoxEvg, DB, ADODB,sharemem;
в длл:

uses
 SysUtils,
 Classes,
 Variants,
 Math,
 strUtils,
 forms,StdCtrls,Graphics,
 unit12 in 'unit12.pas' {Form12};


Юрий Зотов   (2009-07-27 15:36:00) [7]

В смысле - в обоих DPR.


evgenij   (2009-07-27 15:35:00) [8]

указал-то же самое


Юрий Зотов   (2009-07-27 15:35:00) [9]

> evgenij   (27.07.09 15:35) [3]

Покажите uses в EXE и в DLL.


evgenij   (2009-07-27 15:33:00) [10]

нет..........


Palladin   (2009-07-27 15:22:00) [11]

uses sharemem указано?


Наверх

Титульная страница Поиск, карта сайта Написать письмо