Форум программистов, компьютерный форум CyberForum.ru

Изменение функции для DllMain - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Степень двойки в степени десятки http://www.cyberforum.ru/cpp-beginners/thread631535.html
Допустим, есть большое число типа double или extended. Дана степень десятки: 1Е+228. 1Е+228=2760. Вот задача: Сколько степеней двойки в n-ной степени десятки?
C++ Написать / переделать под C++ Всем привет, нуждаюсь в вашей помощи, написать программу с паскаля на c++ Условие:В одномерном массиве, состоящем из n вещественных элементов, вычислить сумму элементов, с нечетными номерами; Сумма элементов массива, расположенных между первым и последним отрицательными элементами. Program Eto_konec; uses crt; var A : array of real; i, n : integer; FirstO, LastO :integer; http://www.cyberforum.ru/cpp-beginners/thread631515.html
C++ Перевод кода программы с Паскаль на С++
var a,s:integer; begin writeln('Введите последовательность целых чисел, окончание ввода 0'); s:=0; repeat readln(a); if a mod 2=0 then s:=s+a; until a=0; write('Сумма четных элементов=',s); readln
C++ Сортировка массива
Здравствуйте. Посмотрите пожалуйста, в чем ошибка!! В С++ Билдере у меня работала такая функция для сортировки: int* Insert (int* a,int N) { int x,j; for (int i=1; i<N; i++) { x=a; j=i-1; while ((x<a) && (j>=0))
C++ Дано действительное а Найти такое наименьшее n, что http://www.cyberforum.ru/cpp-beginners/thread631501.html
1+ 1/2+...1/n a
C++ АнтиЕвклид! Добрый день, из спортивного интереса пытаюсь найти число для которого алгоритм Евклида, выполниться хотя бы 6 раз! На работе включил перебором, но думаю это на долго. Может кто то элегантное решение подскажет? подробнее

Показать сообщение отдельно
NatNiM
0 / 0 / 0
Регистрация: 01.05.2009
Сообщений: 68
01.08.2012, 12:06  [ТС]     Изменение функции для DllMain
Сделал вот так:

C++
1
2
3
4
5
6
7
8
9
10
HINSTANCE hInstance = hDll;
...
EXPORT int CALLBACK ClientInitilalize(HWND hWnd, HINSTANCE hInstance) 
{ 
    DialogBox(hInstance,
              MAKEINTRESOURCE(IDD_DIALOG1), 
              hWnd,
              DialogProc);
  return 1; 
}
ругается, что не определен hDll, хотя заголовочный файл подключен

C++
1
2
3
4
5
#ifndef _DTCD_NEW_H
#define _DTCD_NEW_H
 
extern HINSTANCE hDLL;
#endif //_DTCD_NEW_H
Добавлено через 3 минуты
Извиняюсь, разница в регистре.
Скомпилилось. Спасибо!

Добавлено через 39 минут
А вот пытаюсь вызвать из приложения dll-ку с функцией отображения окна:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    int wmId, wmEvent;
    PAINTSTRUCT ps;
    HDC hdc;
 
    switch (message)
    {
    case WM_COMMAND:
        wmId    = LOWORD(wParam);
        wmEvent = HIWORD(wParam);
        // Parse the menu selections:
        switch (wmId)
        {
        case IDM_ABOUT:
            {
                HMODULE hModule = LoadLibrary(L"D:\\!_Repository\\AdminTools\\trunk\\release\\x86\\DEVICE\\uspd164_01m_un.dll");
                 /*
                Wind lpClientInit = (Wind)GetProcAddress(hModule,"Window");
                lpClientInit();
                if (lpClientInit == NULL)
                {
                  int errorCode = GetLastError();
                } 
                //else {MessageBox(hWnd,L"хорошо", L"message", MB_OK);
                //}
                FreeLibrary(hModule);*/
                typedef int (CALLBACK *lpClientInitilalize)(HWND , void *); 
                lpClientInitilalize lpClientInit = (lpClientInitilalize)GetProcAddress(hModule,"ClientInitilalize");
                lpClientInit(hWnd,NULL);
                FreeLibrary(hModule);
 
            }
            break;
        case IDM_EXIT:
            DestroyWindow(hWnd);
            break;
        default:
            return DefWindowProc(hWnd, message, wParam, lParam);
        }
        break;
    case WM_PAINT:
        hdc = BeginPaint(hWnd, &ps);
        // TODO: Add any drawing code here...
        EndPaint(hWnd, &ps);
        break;
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default:
        return DefWindowProc(hWnd, message, wParam, lParam);
    }
    return 0;
}
Окно не запускается, может быть в параметрах напутал?
 
Текущее время: 06:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru