Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Kastaneda
Jesus loves me
Эксперт С++
4689 / 2893 / 236
Регистрация: 12.12.2009
Сообщений: 7,355
Записей в блоге: 2
Завершенные тесты: 1
#1

Приведение LPVOID* к POINT* - C++

11.03.2011, 17:40. Просмотров 603. Ответов 0
Метки нет (Все метки)

Всем привет) Что-то туплю сижу, не могу указатель на структуру разыменовать.
Создаю поток:
C++
1
CreateThread(NULL, 0, ThreadProc, &point, 0, NULL);
согласну прототипу этой функции 4-ым параметром должен быть LPVOID (кто не знает - это то же самое, что void*), мне нужно передать в поток структуру POINT (там 2 члена x и y, используется для работы с координатами экрана), ну я и передаю &point (point как вы поняли - это та самая структура). Потом в ф-ции потока делаю так:
C++
1
2
3
POINT GradientLine(*((POINT*)point));
GradientLine.x+=390;
GradientLine.y+=190;
Все компилится, но при выполнении вылетает ошибка "нарушение прав доступа 0x........" и указывает на строку:
C++
1
GradientLine.x+=390;
Пробовал сделать по-всякому, но рузультат тот же. Может я по запарке что-то не то делаю?
Могу реализовать все это дело через глобальную переменную, но не нравится мне этот вариант.

Добавлено через 18 минут
Ну я ж говорю, тупил)) Передавал указатель на локальную переменную, которая после создания потока уничножается)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2011, 17:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Приведение LPVOID* к POINT* (C++):

Приведение LPVOID к классу "непостоянной" величины - C++
В поток посылаю экземпляр класс : userThread = CreateThread(NULL, NULL, ConnectionShell, (LPVOID)(&userCurrent), NULL, NULL); Где...

Преобразование LPVOID в int - C++
Собственно вопрос в коде #include <Windows.h> #include <stdio.h> DWORD WINAPI Func(LPVOID); int main(void) { int a=0; ...

Передача других типов переменных через тип LPVOID - C++
Добрый вечер. В функцию нужно передать переменную типа Awesomium::WebView* А функция принимает тип LPVOID Передаю так: ...

Немогу осуществить int => LPVOID => int - C++
Я сохранил в LPVOID адресс переменной int int a = 10; LPVOID lpv = (LPVOID)&a; а теперь нужно сделать обратную операцию ...

Приведение типов - C++
Как привести наследника ко второму родителю? class Parent1 { public: int a; int b; int c; }; class Parent2

Приведение типов - C++
Необходимо привязать адрес массива double по указателю к адресу структуры. Массив сам создан в другом приложении. Если использовать...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.03.2011, 17:40
Привет! Вот еще темы с ответами:

Безопасное приведение - C++
Заинтересовало безопасное приведение типов. То есть чтобы определяло ужимание и выдавало ошибку. Вышло как-то так. А как бы сделали...

Динамическое приведение - C++
Добрый день вот код) В низу проблема) #ifndef SHAPE_H #define SHAPE_H class Shape { public: Shape ();

Приведение типов - C++
В чем различие привидения типа (type)expression, от type(expression)?

Приведение указателей - C++
Вопрос немного из другого раздела, но тем не менее, вопросы не по поводу WinApi, а поводу приведения указателей. В WinApi есть функция...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru