Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > использоание DLL


Автор: And234 19.4.2007, 08:41
Хай алл.

Где ошибка в коде

все ра ботает только в отладку лезет (возникло исключение говорит)

Код

#include <windows.h>

#ifdef BUILD_DLL
    #define DLL_EXPORT __declspec(dllexport)
#else
    #define DLL_EXPORT
#endif

// a sample exported function
void DLL_EXPORT SomeFunction(const LPCSTR sometext)
{
    MessageBoxA(0, sometext, "DLL Message", MB_OK | MB_ICONINFORMATION);
}

BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
    switch (fdwReason)
    {
        case DLL_PROCESS_ATTACH:
           break;
        
        case DLL_PROCESS_DETACH:
            break;
        
        case DLL_THREAD_ATTACH:
            break;
        
        case DLL_THREAD_DETACH:
            break;
    }
    return TRUE; // succesful
}


#include <iostream>
#include "CmnHdr.h"    
#include <windowsx.h>
#include <stdio.h>
#include <tchar.h>
#include <malloc.h>       

typedef void (CALLBACK* LPFNDLLFUNC1)(LPCSTR);

using namespace std;

int main()
{
    std::cout << "Hello world!" << std::endl;
    HINSTANCE hinstDll = LoadLibrary(TEXT("sample"));
    LPFNDLLFUNC1 pfn = (LPFNDLLFUNC1)GetProcAddress(hinstDll, "SomeFunction");
    LPCSTR c=(LPCSTR)"sdfsdf";

    pfn(c);
    FreeLibrary(hinstDll);

    return 0;
}


Автор: Tectoder 19.4.2007, 09:10
Для начала припиши строчку вот здесь:
Код

if(!pfn)return -1;
pfn(c);

Автор: And234 19.4.2007, 09:30
я ее специально убрал чтоб публиковать на форуме меньше кода.

Автор: dumb 19.4.2007, 10:00
фпоиск. сто раз жевалось: extern "C" __stdcall

Автор: And234 19.4.2007, 12:28
спасибо. с вопросом поторопился. тема закрыта.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)