Как вызвать функцию в DLL из EXE?
От: a413  
Дата: 04.09.02 12:14
Оценка: 11 (1) -1
Возникла проблема вызова функции в DLL из EXE. Как это сделать? В функции GetProcAdress требуется указатель на DLL, как получить указатель на загруженный EXE-шник? Можно ли как нибудь простым способом использовать глобальный переменные в DLL объявленные в EXE?
Re: Как вызвать функцию в DLL из EXE?
От: Chorkov Россия  
Дата: 04.09.02 12:20
Оценка:
Здравствуйте a413, Вы писали:

A>Возникла проблема вызова функции в DLL из EXE. Как это сделать? В функции GetProcAdress требуется указатель на DLL, как получить указатель на загруженный EXE-шник? Можно ли как нибудь простым способом использовать глобальный переменные в DLL объявленные в EXE?


Можно воспользоватьтся функцией GetModuleHandle( ).
Re: Как вызвать функцию в DLL из EXE?
От: ToShA_2K Россия  
Дата: 04.09.02 12:23
Оценка:
Здравствуйте a413, Вы писали:

A>Возникла проблема вызова функции в DLL из EXE. Как это сделать?

Передать из EXE в DLL соответствующий указатель (на функцию, которую хочешь вызвать из DLL).

A>В функции GetProcAdress требуется указатель на DLL, как получить указатель на загруженный EXE-шник?

А зачем ?

A>Можно ли как нибудь простым способом использовать глобальный переменные в DLL объявленные в EXE?

В EXE экспортишь, в DLL импортишь и вперед... (вроде должно получиться)
Re[2]: Как вызвать функцию в DLL из EXE?
От: Андрей Россия  
Дата: 04.09.02 12:44
Оценка:
Здравствуйте ToShA_2K, Вы писали:

A>>Можно ли как нибудь простым способом использовать глобальный переменные в DLL объявленные в EXE?

T2>В EXE экспортишь, в DLL импортишь и вперед... (вроде должно получиться)

Насколько я знаю — этот метод не пройдет, из EXE нельзя экспортировать ни функции, ни переменные
Re: Как вызвать функцию в DLL из EXE?
От: Кирпа В.А. Украина  
Дата: 04.09.02 12:49
Оценка: 11 (1)
Здравствуйте a413, Вы писали:

A>Возникла проблема вызова функции в DLL из EXE. Как это сделать? В функции GetProcAdress требуется указатель на DLL, как получить указатель на загруженный EXE-шник? Можно ли как нибудь простым способом использовать глобальный переменные в DLL объявленные в EXE?


По моемуздесь ошибка проектирования програмного комплекса

Разработанная DLL работает только с твоим EXE
При работе с другим EXE она уже не работает
!0xDEAD
Re[3]: Как вызвать функцию в DLL из EXE?
От: ToShA_2K Россия  
Дата: 04.09.02 12:57
Оценка:
Здравствуйте Андрей, Вы писали:

А>Здравствуйте ToShA_2K, Вы писали:


A>>>Можно ли как нибудь простым способом использовать глобальный переменные в DLL объявленные в EXE?

T2>>В EXE экспортишь, в DLL импортишь и вперед... (вроде должно получиться)

А>Насколько я знаю — этот метод не пройдет, из EXE нельзя экспортировать ни функции, ни переменные


А помоему все замечательно работает.
Хотя я согласен со следующим высказыванием об ошибке проектирования.

__declspec( dllexport ) int a;
int main()
{
    return 0;
}
Re[2]: Как вызвать функцию в DLL из EXE?
От: VVV Россия  
Дата: 04.09.02 13:25
Оценка: 11 (1)
Здравствуйте Кирпа В.А., Вы писали:

КВА>Здравствуйте a413, Вы писали:


A>>Возникла проблема вызова функции в DLL из EXE. Как это сделать? В функции GetProcAdress требуется указатель на DLL, как получить указатель на загруженный EXE-шник? Можно ли как нибудь простым способом использовать глобальный переменные в DLL объявленные в EXE?


КВА>По моемуздесь ошибка проектирования програмного комплекса


КВА>Разработанная DLL работает только с твоим EXE

КВА>При работе с другим EXE она уже не работает

КВА>


Не для дисскусий, просто другой взгляд на проектирование: все плагины (ISAPI, MAPI провайдеры и др.) именно так и разрабатываются и из EXE в DLL передаются функции/интерфейсы обратного вызова. Да и коннекшинпойнт::эдвайс(Advise) так же спроектирован.
Re: Как вызвать функцию в DLL из EXE?
От: IPv6 Казахстан  
Дата: 04.09.02 14:40
Оценка: 5 (1)
Здравствуйте a413, Вы писали:

A>Возникла проблема вызова функции в DLL из EXE. Как это сделать? В функции GetProcAdress требуется указатель на DLL, как получить указатель на загруженный EXE-шник? Можно ли как нибудь простым способом использовать глобальный переменные в DLL объявленные в EXE?


вообще вместо HMODULE можно использовать HINSTANCE. где-то в недрах мсдна видел я строчки что если смотреть на них через обратную сторону бинокля то особой разницы и нет (почти синонимы то есть). и что в большинстве WINAPI функций можно использовать одно вместо другого. и все из экзешника отлично должно экпортится и вызываться
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.