Машинист паровоза
Группа: Участник
Сообщений: 206
|
У меня создана DLL. Есть такая проблема. Когда компилю прогу с пакетами,всё — ок. Как-только автономно,без пакетов.То доходит до функции,описанной в dll.А при вызове,говорит,что ошибка по адреса в dll или "Invalid pointer operation".
Объясните,в чём дело.
Заголовочный файл dll: условно dll.h
CODE |
#if defined(BUILD_DLL)
# define DLL_EXP __declspec(dllexport)
#else
# if defined(BUILD_APP)
# define DLL_EXP __declspec(dllimport)
# else
# define DLL_EXP
# endif
#endif
typedef AnsiString AS;
DLL_EXP void CreateBakFile(AS FileName);
|
CPP-файл библиотеки: (dll.cpp)
CODE |
#define BUILD_DLL
#include <vcl.h>
#include "dll.h"
#include <windows.h>
#pragma hdrstop
#pragma argsused
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fwdreason, LPVOID lpvReserved)
{
return 1;
}
void CreateBakFile(AS FileName)
{
..аля-улю...
}
|
А в Prog.cpp пишу:
CODE |
#define BUILD_APP
...
//и где-то делаю:
CreateBakFile("autoexec.bat")
|
P.S: в проге подсоединяю dll.lib и/или memmgr.lib(и в dll также).
Наличие отладочной информации не влияет.Опции dinamic..RTL отключена.
|