И снова DLL...
От: Fester  
Дата: 21.04.04 12:38
Оценка:
Приветы!



Что-то странное с этими DLL'ами

Итак, имеется DLL, в ней диалог.

Далее пишу:
MessageBox (_T("RegisterHotKey"));
        nRet = RegisterHotKey(m_hWnd, ID_HOTKEY_L, 0, TRIGGER_L);
if (nRet == FALSE) MessageBox (_T("Can't RegisterHotKey"));
        nRet = RegisterHotKey(m_hWnd, ID_HOTKEY_R, 0, TRIGGER_R);
if (nRet == FALSE) MessageBox (_T("Can't RegisterHotKey"));


Отлавливаю в PreTranslateMessage:
BOOL CScannerDll::PreTranslateMessage(MSG* pMsg) 
{
    switch (pMsg->message)
    {
    case WM_HOTKEY:
MessageBox (_T("WM_HOTKEY"));
        switch(pMsg->wParam)
        {
        case ID_HOTKEY_L:
        case ID_HOTKEY_R:
            ReadBarCode();
            return TRUE;
            break;
        }
        break;
    }
    return CDialog::PreTranslateMessage(pMsg);
}


Так вот, если DLL скомпилирована в дебаг режиме, то все работает, а если в релизе, то появляется только один мессадж бокс — "RegisterHotKey".
К чему бы все это? И как это можно исправить?
Re: И снова DLL...
От: Fester  
Дата: 21.04.04 13:10
Оценка:
Проблема решена: оказывается нельзя смешивать debug и release версии длл'ек и программы....

Скомпилировала все в release и все заработало... хотя странно все это
Re[2]: И снова DLL...
От: Станкевич Иван Россия  
Дата: 22.04.04 17:11
Оценка:
Здравствуйте, Fester, Вы писали:

F>Проблема решена: оказывается нельзя смешивать debug и release версии длл'ек и программы....


F>Скомпилировала все в release и все заработало... хотя странно все это :xz:


Это нормально, у них разные менеджеры памяти... А надо чтобы один был...

Где-то про это почитать можно было, не помню... Может подскажет кто?...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.