Здравствуйте, всем привет.
Делаю неявную загрузку DLL с функцией, которая принимает параметры и возвращает значение, а также отображаем форму.
Вот сама процедура DLL
Код:
Function ShowForm(user_id:string;for_select:boolean):integer; export; stdcall;
begin
dm:=Tdm.Create(nil);
form3:=tform3.Create(nil);
ads_list.user_id:=user_id;
if for_select then form3.BitBtn2.Visible:=true;
FORM3.ShowModal;
result:=DM.IBDS_AIDS.fieldbyname('id').AsInteger;
freeandnil(form3);
freeandnil(dm);
end;
Вот вызов из приложения:
//объявление
Function ShowForm(user_id:string;for_select:boolean):integer; stdcall; external 'Aids.dll';
//вызов
i:=ShowForm(cur_usr.USER_ID,true);
MAD: Теги.
Когда вызываю функцию DLL появляется форма, возвращается значение, все как нужно. Но когда я закрываю основное приложение, то выскакивает access violation, который ссылается на DLL. Я так понимаю, что неправильно освобождаю память..
Господа!! Что делать?
Спасибо!