GotoFreeMan
0 / 0 / 0
Регистрация: 09.12.2011
Сообщений: 20
|
|||||||||||
#1 | |||||||||||
Передача параметров в функцию WndProc - C++24.01.2012, 19:35. Просмотров 867. Ответов 3
Метки нет Все метки)
(
Начал осваивать WinAPI и столкнулся со следующей проблемой - необходимо передать в качестве параметров некоторые переменные в функцию WndProc:
Собственно вопрос как это сделать, если возможно, и если это глупо и невостребовано, то как сделать так, чтобы функция CRASH "увидела" вышеперечисленные переменные, объявленные в другом месте программы? Вот кусок кода, где они объявляются и происходит цикл отправки сообщений:
0
|
|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
|
24.01.2012, 19:35 |
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Передача параметров в функцию WndProc (C++):
3
Передача параметров в функцию - C++ Передача параметров в функцию - C++ передача параметров в функцию - C++
Передача параметров в функцию - C++ |
kravam
быдлокодер
1704 / 891 / 45
Регистрация: 04.06.2008
Сообщений: 5,521
|
||||||
24.01.2012, 22:33 | #2 | |||||
Ну если эти переменные объявлены в функциий, отличной от CRASH, последняя вряд ли их увидит. Ты их сделай глобальными и она их будет видеть.
...Хотя можно и передать, это не глупо. Главное объявить её с соответствующими параметрами. И передатся не сам массив, а указатель на него
0
|
GotoFreeMan
0 / 0 / 0
Регистрация: 09.12.2011
Сообщений: 20
|
|
24.01.2012, 23:03 [ТС] | #3 |
Проблема в том, что я не могу так сделать - ведь тогда придётся переопределять функцию WndProc, чего делать нельзя - в ней параметры по умолчанию и вызывается она функцией DispatcheMessage, для этого придётся лезть в библиотеку(sic!), от чего я бы воздержался.
0
|
kravam
быдлокодер
1704 / 891 / 45
Регистрация: 04.06.2008
Сообщений: 5,521
|
||||||
24.01.2012, 23:41 | #4 | |||||
Не, переопределять не надо. Тут с функцией CRASH на самом деле проблем быть не должно, действительно, параметры стандартных типа она примет без проблем. Если тип нестандартный (указатель на массив хитрого типа), то опять же, просто надо познакомить CRASH с таким типом- это практикуется сплошь и рядом, и тогда она без проблем примет указатель на его массив и будет с ним работать
Ну тут я бы поковырядся ещё на предмет параметров WPARAM wParam и LPARAM lParam, ведь как я понял ты будешь CRASH вызывать только при определёных сообщениях, а насколько я знаю, не все сообщения используют эти параметры. А если нам хоть один параметр будет доступен это то что надо, ведь через него можно передавать любой указатель, на какую угодно структуру или массив. Если край неохота массивы делать глобальными, то надо пробовать.
1
|
24.01.2012, 23:41 | |
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
|
24.01.2012, 23:41 |
Привет! Вот еще темы с ответами:
4
Передача параметров в функцию - C++ Передача параметров в функцию - C++ Передача параметров в функцию по умолчанию - C++ Передача параметров в функцию по адресу - C++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |