Re[7]: Реализация отложенной загрузки библиотек на С++
От: VirLena  
Дата: 16.01.08 13:51
Оценка:
Здравствуйте, Andrew S, Вы писали:

AS>"Стучит где-то в машинном отделении"

AS>Неплохо было бы пример кода. Ну и библиотеку посоветую взять по этой ссылке — она там иногда обновляется, в отличие от той, что вместе со статьей

В коде особо не мудрствовала, просто захотелось проверить использование вашей библиотеки, ну например

Функция в Dll


int SampleFunction(bool tmp)
{
    if(tmp){
        ::MessageBox(0,"Флаг получил значение true","Сообщение о загрузке Dll",MB_OK);
        return 1;
    }
    else{
        ::MessageBox(0,"Флаг получил значение false","Сообщение о загрузке Dll",MB_OK);
        return 2;
    }
}


И вызов из основного приложения


DL_USE_MODULE_BEGIN(loaddll, "DelayLoadDll.dll")
    DL_DECLARE_FUN(SampleFunction, int, (bool))
DL_USE_MODULE_END()

void CNewProgectDllDlg::OnDelay() 
{
    UpdateData(true);
    int tmp = 0;
    if (m_flag.GetCurSel() == 0)
        tmp = loaddll::SampleFunction(true);
    if (m_flag.GetCurSel() == 1)
        tmp = loaddll::SampleFunction(false);
    m_tmp.Format("%3i",tmp);
    UpdateData(false);
    
}


Все прекрасно собирается, но увы не с тем результатом....

AS>PS

AS>Да, к слову о формулировке вопроса. Функция, возвращающая int, значение null возвращать ну никак не может. 0 — другое дело.

Извените, просто небольшой сленг.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.