Здравствуйте, 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 — другое дело.
Извените, просто небольшой сленг.