![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Загрузка dll
chistyakov © (2004-07-01 18:00:00)Загружаю функции из dll-ки в таком виде
@GetArticleInfo := GetProcAddress(handle, 'GetArticleInfo');
If @GetArticleInfo = nil then
begin
Result := -1;
exit;
end;
и таких конструкций 15 все работало нормально, потом добавил функции 16 и 17 и тут начались непонятки, на последней функции вываливается по условию, причем в дебагере смотрю - адрес не nil. Меняю функции 16 и 17 местами, опять вываливается и опять на последней. Подскажите, что это может быть.
chistyakov (2004-07-01 19:59:00) [1]Блин, перегрузил Винду - все Ок, блин эта 98-я достала :((((
TUser (2004-07-01 18:41:00) [2]Ошибка где-то в другом месте. Дебажир тоже ошибается иногда.
MacroDenS (2004-07-01 18:18:00) [3]попробуй загружать чуть по другому:
var
dll:THandle;
func1:function A(param:TParam):TResult //ну типа своя
//функция из длл
funcN:function....
.....
begin
dll:=LoadLibrary(Path+FileName);
if dll <> 0 then
begin
func1:=GetProcAddress(dll, 'func1');
....
FuncN:=GetProcAddress(dll, 'Func1');//важно соблюдать
//регистр, как
//функция в длл
//называется так ее и
//записывать в
//GetProcAddress
end
else begin
messagebox(handle, 'Не могу загрузить ДЛЛ!', 'Ошибка!', mb_iconerror+mb_ok);
halt;
ebd;
end;
у меня в длл порядка 30 функций и все грузятся нормально