Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка в программе, помогите! Помогите исправить ошибку 
V
    Опции темы
Vikelf
  Дата 16.5.2009, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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
Заранее всем благодарен.
PM MAIL   Вверх
Dmi3ev
Дата 16.5.2009, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 16
Всего: 41



Цитата

5)снова нажать на левую кнопку мыши (А вот тут то и начинаются проблемы, при повторном использовании кода указанного выше, компилятор выдаёт ошибку, почему не знаю)

а че за ошибка?


--------------------

PM MAIL   Вверх
Vikelf
  Дата 17.5.2009, 07:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 16.5.2009

Репутация: нет
Всего: нет



Вот коды ошибок, при повторном использовании моего кода:

[C++ Ошибка] Unit1.cpp(27): E2238 Multiple declaration for 'inp'
[C++ Ошибка] Unit1.cpp(20): E2344 Earlier declaration of 'inp'

Просто дважды использую код, а компилятор ошибку видит, при одном использовании не видит.

Добавлено через 10 минут и 21 секунду
Тема закрыта, нужно просто изменить название переменной
PM MAIL   Вверх
froex
  Дата 17.5.2009, 08:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 6.3.2009

Репутация: нет
Всего: нет



Цитата(Vikelf @  17.5.2009,  07:45 Найти цитируемый пост)
нужно просто изменить название переменной 

Я не соглашусь с этим.

Пробема 1: Изменив название переменной во втором случае Вы не избавитесь от первой переменной, а я смотрю, что память выделяется под нее.
Решение 1: Попробуй не объявлять переменную второй раз.

Проблема 2: Если решил проблему 1, то возникает чувство ненужных действий. Для переменной уже выделена память и там хранятся данные нужные.
Решение 2: Попробуй не переписывать присваивание переменной значений заного.

Итог:
В первом случае используй весь свой код, который у тебя успешно с самого сначала работал. В каждом последующем случае просто вызывай твой SendInput(2,inp,sizeof(INPUT)); - должно работать коректно.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0747 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.