![]() |
|
![]() ![]() ![]() |
|
Vikelf |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 16.5.2009 Репутация: нет Всего: нет |
Доброго времени суток уважаемые форумчане. Пишу программу на С++ в среде Borland C++ Builder 6.0, программа с работой мыши. Столкнулся с ошибкой которую не смог обойти. Помогите пожалуйста.
Вот структура программы: Требуется: При нажатии на кнопку: 1)Включается таймер, идёт время, скажем секунд 10 (Здесь вроде проблем нету, да и пример использования таймера у меня есть) 2)По истечении времени таймера, переместить курсор в точку с координатами (х;у) (Здесь тоже всё гладко: вот код перемещения курсора: SetCursorPos(X,Y); проверял, работает) 3)Нажать в этой же точке на левую кнопку мыши (Здесь тоже пока нормально, вот код: INPUT inp[2]; memset(inp,0,sizeof(inp)); inp[0].type=INPUT_MOUSE; inp[0].mi.dwFlags=MOUSEEVENTF_LEFTDOWN; inp[1].type=INPUT_MOUSE; inp[1].mi.dwFlags=MOUSEEVENTF_LEFTUP; SendInput(2,inp,sizeof(INPUT)); проверял, работает) 4)Переместить курсор в следующую точку с координатами (х1;у1) (Здесь аналогично первому перемещению) 5)снова нажать на левую кнопку мыши (А вот тут то и начинаются проблемы, при повторном использовании кода указанного выше, компилятор выдаёт ошибку, почему не знаю) 6)Переместить курсор в следующую точку с координатами (х2;у2) 7)Нажать на левую кнопку мыши скажем 5 раз, с интервалом в 1 сек.(это я ещё даже не брался делать, из за этой ошибки, но очень нужно) 8)Вывести на экран "Программа выполнена" Вот такая программа, и вот такая ошибка. Ответы и предложения (по мимо форума) так же можно скидывать на мыло: [email protected] или в асю: 470-616-685 Заранее всем благодарен. |
|||
|
||||
Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: 16 Всего: 41 |
а че за ошибка? -------------------- |
|||
|
||||
Vikelf |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 16.5.2009 Репутация: нет Всего: нет |
Вот коды ошибок, при повторном использовании моего кода:
[C++ Ошибка] Unit1.cpp(27): E2238 Multiple declaration for 'inp' [C++ Ошибка] Unit1.cpp(20): E2344 Earlier declaration of 'inp' Просто дважды использую код, а компилятор ошибку видит, при одном использовании не видит. Добавлено через 10 минут и 21 секунду Тема закрыта, нужно просто изменить название переменной |
|||
|
||||
froex |
|
|||
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 6.3.2009 Репутация: нет Всего: нет |
Я не соглашусь с этим. Пробема 1: Изменив название переменной во втором случае Вы не избавитесь от первой переменной, а я смотрю, что память выделяется под нее. Решение 1: Попробуй не объявлять переменную второй раз. Проблема 2: Если решил проблему 1, то возникает чувство ненужных действий. Для переменной уже выделена память и там хранятся данные нужные. Решение 2: Попробуй не переписывать присваивание переменной значений заного. Итог: В первом случае используй весь свой код, который у тебя успешно с самого сначала работал. В каждом последующем случае просто вызывай твой SendInput(2,inp,sizeof(INPUT)); - должно работать коректно. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |