Возникла проблема вызова функции в DLL из EXE. Как это сделать? В функции GetProcAdress требуется указатель на DLL, как получить указатель на загруженный EXE-шник? Можно ли как нибудь простым способом использовать глобальный переменные в DLL объявленные в EXE?
Здравствуйте a413, Вы писали:
A>Возникла проблема вызова функции в DLL из EXE. Как это сделать? В функции GetProcAdress требуется указатель на DLL, как получить указатель на загруженный EXE-шник? Можно ли как нибудь простым способом использовать глобальный переменные в DLL объявленные в EXE?
Можно воспользоватьтся функцией GetModuleHandle( ).
Здравствуйте a413, Вы писали:
A>Возникла проблема вызова функции в DLL из EXE. Как это сделать?
Передать из EXE в DLL соответствующий указатель (на функцию, которую хочешь вызвать из DLL).
A>В функции GetProcAdress требуется указатель на DLL, как получить указатель на загруженный EXE-шник?
А зачем ?
A>Можно ли как нибудь простым способом использовать глобальный переменные в DLL объявленные в EXE?
В EXE экспортишь, в DLL импортишь и вперед... (вроде должно получиться)
Здравствуйте ToShA_2K, Вы писали:
A>>Можно ли как нибудь простым способом использовать глобальный переменные в DLL объявленные в EXE? T2>В EXE экспортишь, в DLL импортишь и вперед... (вроде должно получиться)
Насколько я знаю — этот метод не пройдет, из EXE нельзя экспортировать ни функции, ни переменные
Здравствуйте a413, Вы писали:
A>Возникла проблема вызова функции в DLL из EXE. Как это сделать? В функции GetProcAdress требуется указатель на DLL, как получить указатель на загруженный EXE-шник? Можно ли как нибудь простым способом использовать глобальный переменные в DLL объявленные в EXE?
По моемуздесь ошибка проектирования програмного комплекса
Разработанная DLL работает только с твоим EXE
При работе с другим EXE она уже не работает
Здравствуйте Андрей, Вы писали:
А>Здравствуйте ToShA_2K, Вы писали:
A>>>Можно ли как нибудь простым способом использовать глобальный переменные в DLL объявленные в EXE? T2>>В EXE экспортишь, в DLL импортишь и вперед... (вроде должно получиться)
А>Насколько я знаю — этот метод не пройдет, из EXE нельзя экспортировать ни функции, ни переменные
А помоему все замечательно работает.
Хотя я согласен со следующим высказыванием об ошибке проектирования.
__declspec( dllexport ) int a;
int main()
{
return 0;
}
Здравствуйте Кирпа В.А., Вы писали:
КВА>Здравствуйте a413, Вы писали:
A>>Возникла проблема вызова функции в DLL из EXE. Как это сделать? В функции GetProcAdress требуется указатель на DLL, как получить указатель на загруженный EXE-шник? Можно ли как нибудь простым способом использовать глобальный переменные в DLL объявленные в EXE?
КВА>По моемуздесь ошибка проектирования програмного комплекса
КВА>Разработанная DLL работает только с твоим EXE КВА>При работе с другим EXE она уже не работает
КВА>
Не для дисскусий, просто другой взгляд на проектирование: все плагины (ISAPI, MAPI провайдеры и др.) именно так и разрабатываются и из EXE в DLL передаются функции/интерфейсы обратного вызова. Да и коннекшинпойнт::эдвайс(Advise) так же спроектирован.
Здравствуйте a413, Вы писали:
A>Возникла проблема вызова функции в DLL из EXE. Как это сделать? В функции GetProcAdress требуется указатель на DLL, как получить указатель на загруженный EXE-шник? Можно ли как нибудь простым способом использовать глобальный переменные в DLL объявленные в EXE?
вообще вместо HMODULE можно использовать HINSTANCE. где-то в недрах мсдна видел я строчки что если смотреть на них через обратную сторону бинокля то особой разницы и нет (почти синонимы то есть). и что в большинстве WINAPI функций можно использовать одно вместо другого. и все из экзешника отлично должно экпортится и вызываться