Вниз
Скачать: CL | DM;

проблема с dll   Найти похожие ветки 

 
zhlog   (2003-03-26 20:17) [0]

Здраствуйте. Столкнулся с проблемой... помогите решить

В своей программе динамически загружаю dll. Отрабатывает она нормально, создает всё что мне надо, но при освобождении памяти вылетает access violation...
function run_dll(dll_name:pchar):byte;
type TMakeDBF = procedure(AForm:TForm;md_Query:tQuery;dlldatabasename:string);
var DLLInstance : THandle;
MakeDBF : TMakeDBF;
begin
Result:=0;
DLLInstance := LoadLibrary(dll_name);
if DLLInstance=0 then
begin
Result:=1;
Exit;
end;
@MakeDBF:=GetProcAddress(DLLInstance, "MakeDBF");
if @MakeDBF<>nil then MakeDBF(Form1,Form1.Query1,Main_Path+"work.dbf") else begin Result:=2; exit; end;
FreeLibrary(DLLInstance);
end;

в чем проблема не пойму


 
Mike_Goblin ©   (2003-03-26 21:14) [1]

Main_Path+"work.dbf" - это string
а DLL очень не любят их :))
в uses DLL первый модуль поставь ShareMem


 
Zelius ©   (2003-03-26 21:59) [2]

кстати, TForm & TQuery тоже не любят при передаче в DLL :)


 
zhlog   (2003-03-27 09:18) [3]

поставил ShareMem и всё заработало :) сенкс



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
1-19692
R0man
2003-03-26 12:51
2003.04.07
У меня работает, приношу в институт, неработает.


3-19499
N&N
2003-03-20 07:35
2003.04.07
Перенос в EXcel итоговой строки из DBGridEh a


6-19728
fagot
2003-02-14 15:14
2003.04.07
Как декодировать subject письма


3-19481
dtm
2003-03-18 10:51
2003.04.07
Создание Yaffil Embedded - приложения


14-19871
madcap
2003-03-20 22:44
2003.04.07
Дискета к книге




   Наверх