|
17 / 17 / 5
Регистрация: 19.09.2012
Сообщений: 216
|
|||||||||||
Сделать слежение12.02.2013, 21:18. Показов 2522. Ответов 24
Метки нет (Все метки)
Собственно возникла такая необходимость, что нужно тормозить бесконечный цикл на время, пока другая функция выполнится...
Пытался сделать так:
пока все работает при помощи Sleep... но это получается рулетка какая-то... малейший сбой и все пойдет не так... Добрые люди не могли бы вы помочь в данном вопросе, очень бы пример пригодился ![]() Добавлено через 10 минут
0
|
|||||||||||
| 12.02.2013, 21:18 | |
|
Ответы с готовыми решениями:
24
Слежение за клавой Слежение/контроль за работой принтеров Не могу сделать слежение монстра за игроком |
|
63 / 63 / 23
Регистрация: 09.12.2012
Сообщений: 459
|
||||||
| 12.02.2013, 22:59 | ||||||
0
|
||||||
|
17 / 17 / 5
Регистрация: 19.09.2012
Сообщений: 216
|
||||||
| 12.02.2013, 23:12 [ТС] | ||||||
|
QWIPQ, в общем, есть функция, которая конектится к БД Аксесса, делает запрос, получает данные построчно, из строчки берется число одно и с ним составляется команда, которая отсылается железяке на ком порт... так вот, нам нужно держать на нужной строке цикл от запроса, пока не пройдет получение и обработка...
Сейчас все работает "на соплях", но работает:
0
|
||||||
|
63 / 63 / 23
Регистрация: 09.12.2012
Сообщений: 459
|
||
| 12.02.2013, 23:15 | ||
0
|
||
|
|
|||||||||||
| 12.02.2013, 23:32 | |||||||||||
|
ну если ЦП не жалко (и TThread не разобрался) то можно создать глобальную переменную целочисленную(int), создать TTimer который проверял бы ваш ответ от БД, время на таймер поставить 200 дет, свойство Timer3 установить Enabled=false;
int REZULT=0; //глобальная . .
1
|
|||||||||||
|
17 / 17 / 5
Регистрация: 19.09.2012
Сообщений: 216
|
|
| 12.02.2013, 23:36 [ТС] | |
|
QWIPQ, спасибо за наводку... но хотелось бы это дело на Thered повесить... почему то кажется что таймер будет что и слип - танцы с бубном... Вы не напишите простой пример как через класс Thered отследить завершенность функции ? был бы признателен, а то в том что я нашел примеры какие-то сомнительные...
0
|
|
|
|
|
| 12.02.2013, 23:46 | |
|
TTimer - эквивалентен в принципе TThread, просто срабатывает по времени, как вам и надо в принципе! Тот же поток который назначается и высвобождается по времени.
P.S. сейчас основной комп отработает и скину пример потока...
0
|
|
|
|
||
| 12.02.2013, 23:48 | ||
|
Код в обработчике таймера выполняется в основном потоке и не требует синхронизации. Компонент выполняющий запрос не должен участвовать в перерисовке окна программы ( не косвенно, не напрямую), иначе в использовать поток нет смысла....
0
|
||
|
|
|||
| 12.02.2013, 23:59 | |||
|
я могу представить если всю программу запихнуть в поток и там уже вызывать функцию и применять например SuspendThread() и ResumeThread(), тогда никаких блин зависаний и таймеров!!!
0
|
|||
|
|
|
| 13.02.2013, 00:06 | |
|
Если говорить GUI и потоке то без синхронизации никак не обойтись...
Для банальной "проверки" нужен вывод в лог или еще куда что уже требует простую, но синхронизацию... P.S. QWIPQ, Учите матчасть...
0
|
|
|
17 / 17 / 5
Регистрация: 19.09.2012
Сообщений: 216
|
|
| 13.02.2013, 14:48 [ТС] | |
|
Avazart, ADOQuery связан с событием приема данных от платы... событие из компонента
0
|
|
|
return (true);
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
|
|||||||
| 13.02.2013, 14:58 | |||||||
|
Вот вы развели маразм, таймеры, нити
0
|
|||||||
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
||
| 13.02.2013, 15:08 | ||
|
mimicria, ну и на read_answer(); попросту зависнет (пока не получит ответ), не дойдя таким образом до Application->ProcessMessages();.
А ребята хотят изобрести семафоры. ![]() Добавлено через 6 минут
0
|
||
|
return (true);
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
|
|||
| 13.02.2013, 15:12 | |||
|
Ну и в самом верху топика написано:
0
|
|||
|
17 / 17 / 5
Регистрация: 19.09.2012
Сообщений: 216
|
|
| 13.02.2013, 15:22 [ТС] | |
|
mimicria, я бы с радостью вставил туда всю обработку, но обработка 100 с лишним строчек да и обращается к ней не только эта частичка кода... хотелось бы просто согласовать это
0
|
|
|
return (true);
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
|
|||
| 13.02.2013, 15:34 | |||
Сейчас как эта обработка организована?
0
|
|||
|
17 / 17 / 5
Регистрация: 19.09.2012
Сообщений: 216
|
||||||
| 13.02.2013, 15:44 [ТС] | ||||||
|
mimicria, хм, вот так:
0
|
||||||
|
17 / 17 / 5
Регистрация: 19.09.2012
Сообщений: 216
|
|
| 16.02.2013, 20:55 [ТС] | |
|
Ап, может кто все-же подскажет с TThread ?
0
|
|
| 16.02.2013, 20:55 | |
|
Помогаю со студенческими работами здесь
20
Слежение за объектом слежение за форумами
Слежение за объектом Слежение за объектом Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3.
Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|