Консультация № 109576
15.11.2007, 17:12
0.00 руб.
0 3 1
Добрый день, господа эксперты!
У меня вопрос по вызову функции класса dll-файла в другом exe-файле. Как нужно правильно вызывать функцию MyFunction?

MS VS 2003 +SP1

Приложение:
dll-файл1.hclass tLogFile{ public: tLogFile(); virtual ~tLogFile(); void MyFunction(const char *message ...);};1.cpptLogFile::tLogFile(){};tLogFile::~tLogFile(){};tLogFile::MyFunction(){ \\выполняеться необходимые действия}exe-файлmain.cpp#include "dll.h" //главный файл dll#include "EXE\exe.cpp"int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){ const char *errorMessage; try { // текст } catch(tError &error) { // текст return 1; } \\и прочие...}exe.cpp#pragma comment (lib,"winmm.lib")int Init(){ // Загружаем модель из файла tLogFile::MyFunction("Load file ... "); if( FAILED( Load() ) ) throw tError(__FILE__,__LINE__,"","Failed load teapot.x!",NULL); tLogFile::MyFunction("Ok.\n"); //и прочие... return 1;}

Обсуждение

Неизвестный
15.11.2007, 17:35
общий
это ответ
Здравствуйте, Solowey!
Вот статья на тему работы с dll. Надеюсь она вам поможет
http://www.citforum.ru/book/cook/dll0.shtml
Неизвестный
15.11.2007, 19:10
общий
при таком расскладе появилась ошибка - error C2352: ‘tLogFile::MyFunction‘ : illegal call of non-static member functionКак можно с этим бороться?
Неизвестный
16.11.2007, 12:17
общий
Я так понимаю функции экспортируемого класса должны быть определены, иначе в таблице экспорта библиотеки их не будет. Виртуальных функций, естесственно тоже быть не должно
Форма ответа