Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.10;
Скачать: CL | DM;

Вниз

Подключение dll созданной в VS2k3   Найти похожие ветки 

 
Andrewk88   (2006-10-30 11:42) [0]

есть некая graph.dll созданая в VS2k3.

//Graph.h
#ifdef GRAPH_EXPORTS
#define GRAPH_API __declspec(dllexport)
#else
#define GRAPH_API __declspec(dllimport)
#endif

GRAPH_API void Paint(void);
GRAPH_API void SetWnd(HWND hWnd);
GRAPH_API void FreeGr(void);

создаю .pas файл чтобы подключить dll в Delphi7

unit Graph;
interface
uses Windows;
 procedure Paint(); cdecl;
 procedure SetWnd(hWnd:HWND); cdecl;
 procedure FreeGr(); cdecl;
implementation
 procedure Paint(); cdecl; external "Graph.dll" name "Paint";
 procedure SetWnd(hWnd:HWND); cdecl; external "Graph.dll" name "SetWnd";
 procedure FreeGr(); cdecl; external "Graph.dll" name "FreeGr";
begin
end.

//*****************//
При вызове любой ф-ии (кроме Paint) вылетает ошибка:
Точка входа в процедуру SetWnd(FreeGr) не найдена в библиотеке DLL Graph.dll
в чем ошибка?
P.S. dll находиться в папке с программой написанной на Delphi


 
Elen ©   (2006-10-30 11:49) [1]


> Andrewk88

Откуда такая уверенность что SetWnd есть в dll и имя написано у тебя правильно?. Открой Dll чем нибудь что показывает таблицу функций


 
icWasya ©   (2006-10-30 11:57) [2]

А проверить, какие имена экспортирует dll?
может быть _FreeGR
или ещё хуже SetWnd(void*)


 
Ketmar ©   (2006-10-30 13:17) [3]

хм. судя по отсутствию extern "c" { ... } -- name mangling может делать всё, что угодно.
кстати. .def-файл бы привёл, а?


 
Andrewk88   (2006-10-30 13:25) [4]

если был бы .def файл.
я без понятия где он должен быть и как его создать


 
Andrewk88   (2006-10-30 13:32) [5]

extern "c" добавил
все прекрасно работает.
спасибо. вопрос закрыт



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

Текущий архив: 2006.12.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.041 c
2-1164277824
mkmkm
2006-11-23 13:30
2006.12.10
Console + TNotifyEvent (... of Object)


2-1164103100
Андрей Сенченко
2006-11-21 12:58
2006.12.10
TResourceStream.CreateFromID () "из себя"


15-1164013844
Суслик
2006-11-20 12:10
2006.12.10
Хочу поднять свой уровень знания общеизвестных протоколов


15-1163963893
radium
2006-11-19 22:18
2006.12.10
Как побороть троян?


1-1161788609
SkySpeed
2006-10-25 19:03
2006.12.10
Проблема с программным нажатием на кнопку ДА приСохраненииРисунка