Консультация № 168780
02.06.2009, 16:10
0.00 руб.
0 0 0
Уважаемые, и так, есть DLL
mitab.h
Код:

...
class MIFFile: public IMapInfoFile {
...
public:
virtual int Open(const char *pszFname, const char *pszAccess,
GBool bTestOpenNoError = FALSE );

MIFFile.cpp
Код:

...
int MIFFile::Open(const char *pszFname, const char *pszAccess,
GBool bTestOpenNoError /*=FALSE*/ ) {
...

вызываю из проекта
MifFile.h
Код:

...
#include "mitab.h"
#define DllImport __declspec(dllimport)
DllImport MIFFile CmyMif;
...

MifFile.cpp
Код:

...

int mErr = CmyMif.Open((LPCTSTR)NewMIFFile, "wt");
/*здесть выдает ошибку
error LNK2001: unresolved external symbol "public: virtual int __thiscall MIFFile::Open(char const *,char const *,int)" (?Open@MIFFile@@UAEHPBD0H@Z)
error LNK2001: unresolved external symbol "__declspec(dllimport) class MIFFile CmyMif" (__imp_?CmyMif@@3VMIFFile@@A)
и это правильная ошибка*/
...

Вопрос:
Как сделать правильный вызов метода из внешнего класса?
В чем есть еще мои ошибки?
P.S. В Инете есть много информации по DLL, но все не работает!
Код:

DllImport virtual CmyMif::Open(const char *pszFname, const char *pszAccess, GBool bTestOpenNoError = 0);

Или что в этом роде, заведомо ошибочная конструкция!

Обсуждение

Форма ответа