Вниз
Скачать: 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
8-19698
Andry
2003-01-01 15:22
2003.04.07
Быстрый вывод изображения


1-19573
Pavel_
2003-03-27 10:07
2003.04.07
удаленная загрузка пакетов или длл


7-19877
MixerPro
2003-02-12 16:06
2003.04.07
Как определить высоту в пикселях Caption формы?


3-19468
Vanysha
2003-03-17 19:03
2003.04.07
Сохранение содержимого OLE container в файле


3-19410
Askik
2003-03-17 16:48
2003.04.07
Можно ли соединить два запроса




   Наверх