![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| Kirgston |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: нет Всего: 2 |
Уффффф извините пожалуйста наверно вас всех задолбал вопросами
Смотрите. Вот я хочу сделать мини программу которая бы переводила курсор по экрану. Пользователь задает начальные координаты и конечные. А программа уже сама крутит курсор. Вот сидел на досуге писал... ну не понимаю где я не так зделал ? о.О
Я уже |
|||
|
||||
| Alix |
|
|||
|
L45 ![]() ![]() Профиль Группа: Участник Сообщений: 581 Регистрация: 4.5.2005 Где: Pskov/Spb Репутация: 8 Всего: 23 |
Я от этого кода тоже ща кукукнусь
1. переменные не принадлежат классу потока, а зачем то сделаны глобальными 2. доступ к полям формы и глобальным объектам (Mouse) без синхронизации 3. циклы без Sleep или еще какой-нибудь задержки, пролетают мгновенно 4. курсор перемещается сначала по x, потом по y. Может так и было задумано, но человечнее как-то сразу по обоим координатам 5. в методе Y вообще нет цикла 6. ААА!! Я сразу не углядел, там в Line.Execute вообще ппц (пардон) какой то. -------------------- Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью (с) Л. Толстой High tech. Low live. (с) Gardner Dozois |
|||
|
||||
| Kirgston |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: нет Всего: 2 |
1. Ну можно и в приват засунуть ;)
2. Опс а как это делается? 3. Угу поставимс ;)т.к. этот цикл грузит мой процессор на 50% 4. Нет нет. Именно надо чтоб по Х прошло линию затем опустилось в низ и ещё раз прошло линию по Х 5. Он там не нужен ;) там просто надо переместить курсор на начальную координату Х, и здвинуть У на 10 или n единиц. 6. Угу Пожалуйста помогите сделать этот код просто работоспособным |
|||
|
||||
| Kirgston |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: нет Всего: 2 |
Только что зделал трассировку. В результате... у меня такое впечетление что
не работает. Почему так? |
|||
|
||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 50 Всего: 372 |
Kirgston, а ты не парься. А просто возьми и прочитай статью: http://forum.vingrad.ru/forum/topic-60076.html
Про синхронизацию особенно. Где к чему можно обращаться. А так у тебя в Execute действительно |
|||
|
||||
| Kirgston |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: нет Всего: 2 |
Оки ;) щас прочту. Правда её размеры меня несколько отпугивают
|
|||
|
||||
| Kirgston |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: нет Всего: 2 |
Ребята. Ну вот я читаю статью... только тут синхронизации не надо... оно просто считывает данные из главной формы. Также если запущен один поток то все остальные либо считывают другие данные, либо вобще выключены. Ребята. Никто не поможет запустить данный поток?
Но мышка устанавливается в начальные координаты и не движется никуда... :( |
|||
|
||||
| Alix |
|
|||
|
L45 ![]() ![]() Профиль Группа: Участник Сообщений: 581 Регистрация: 4.5.2005 Где: Pskov/Spb Репутация: 8 Всего: 23 |
Читай статью еще раз. Ты так и не вычитал там, что форма работает в главном потоке, а доступ к данным других потоков должен всегда осуществляться через синхронизацию. Переменные надо сделать приватными, а их инициализацию делать в конструкторе потока, который тебе надо написать.
-------------------- Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью (с) Л. Толстой High tech. Low live. (с) Gardner Dozois |
|||
|
||||
| Kirgston |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: нет Всего: 2 |
Нет я читал про это ;) просто смотрите. Синхронизация нужна для того когда главная форма работает с файлом\данными и т.д. а поток тоже пытается работать с тем же что и главная форма. Но зачем делать лишнюю работу по синхронизации когда она не нужна? Ведь в чем суть то. Только 1 поток может работать в данный момент (заложено в главной форме). Главная форма больше как напоминает просто...ээээ... ну... просто как бы интерфейс. Она ничего не делает. Только в тот или инной момент завершает один поток и грузит другой. Просто у меня такое впечетление что оно не может в потоке выполнить
Сменная обявлена внутри потока |
|||
|
||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 50 Всего: 372 |
Kirgston, и ты считаешь что вот так можно обращаться к форме из потока?
Внимательно читай статью. |
|||
|
||||
| Kirgston |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: нет Всего: 2 |
Ну хорошо... сделал как вам удобней. Только ничего не поменялось. Мышка опять таки застряет на начальных координатах...
|
|||
|
||||
| Alix |
|
|||
|
L45 ![]() ![]() Профиль Группа: Участник Сообщений: 581 Регистрация: 4.5.2005 Где: Pskov/Spb Репутация: 8 Всего: 23 |
Так, давайте четко и ясно, что должен делать поток. Передвинуть курсор из одной точки в другую - это ясно. Как перемещать будем? То что не по диагонали это уже понятно.
-------------------- Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью (с) Л. Толстой High tech. Low live. (с) Gardner Dozois |
|||
|
||||
| Kirgston |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: нет Всего: 2 |
||||
|
||||
| Alix |
|
||||
|
L45 ![]() ![]() Профиль Группа: Участник Сообщений: 581 Регистрация: 4.5.2005 Где: Pskov/Spb Репутация: 8 Всего: 23 |
Хреновенькое качество, но по нему понял, что надо было сделать вот такое:
-------------------- Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью (с) Л. Толстой High tech. Low live. (с) Gardner Dozois |
||||
|
|||||
| Kirgston |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: нет Всего: 2 |
Хм... оно подчёркивает СтипХ и У и орёт что оно не понимает что это.
Вот щас доработал чуток свой код. Вроде работает
Но я не понимаю почему оно грузит процессор на 50%? О.о ведь я поставил задержку приличную - 100 мс. А оно как с 10мс так и со 100 мс - 50%... Да и тут только не работает каретка перевода. Тоисть по достижению максимальных координат оно вместо того чтоб всё начать с начала оно дальше идёт |
|||
|
||||
| Kirgston |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: нет Всего: 2 |
Ребята ну вот ))) собственно сделал. Продукт готов к использованию. Ну... практически готов
http://rapidshare.com/files/159963157/AFKForAll.exe.html http://depositfiles.com/files/6a0723yrv http://letitbit.net/download/b5db8c395214/AFKForAll.exe.html http://www.sendspace.com/file/for1uq |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |