Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.10.27;
Скачать: CL | DM;

Вниз

Передать управление при изменении byte   Найти похожие ветки 

 
Bitt   (2013-05-11 00:09) [0]

В проекте основной код и поток сделанный вручную без TThread
суть там меняется глобальная переменная (glob), хотелось бы при её смене запускать таймер. Timer1.enable:=true конечно не позволяет так сделать процедура объявлена как stdcall; без всяких TForm1. , TObject итд.
Мысль запустить один таймер и проверять её состояние, хоть основной поток формы не будет тормозить.
start:  // spy vare
if glob<>0 then begin
                    Timer1.enable=true;
                    end else begin
                    sleep(10);
                    goto start;
                    end;

кривовато, и будет жрать CPU, нельзя ли поэффективне, через Event var и другое?


 
turbouser ©   (2013-05-11 01:26) [1]

PostThreadMessage не подойдет?


 
Bitt   (2013-05-11 10:06) [2]

да вчера подумалось об SendMessage (handle,
где handle=Form1.handle глобальная переменная, присвоенная после создания главной формы.
В форме пишется свой обработчик WM_ и там вешается таймер .enable=true


 
Dimka Maslov ©   (2013-05-11 11:04) [3]

Давным-давно, ещё лет 20 назад была придумана такая замечательная вещь, как свойство - совокупность переменной и двух методов для доспупа к ней. Это прекрасно позволяет в том числе и сообщать при помощи ещё одного замечательного явления, как событие, извещать заинтересованные стороны об изменении состояния или даже попытки его изменить. А нежелание использовать всякие TObject и т.д. не есть величайшее достоинство. Но если хочется в гамаке и стоя - то всегда пожалуйста. Мы-то тут причём?


 
Kilkennycat ©   (2013-05-11 11:32) [4]


> в гамаке и стоя

после противогаза - можно


 
Bitt   (2013-05-11 13:06) [5]

хочется использовать, но не позволяет это сделать
А если форма создана как винапишная, TObject понимает?


 
Anatoly Podgoretsky ©   (2013-05-11 13:54) [6]

Винапишных форм в природе не существует.


 
Bitt   (2013-05-11 14:02) [7]

имеется ввиду сделана руками через CreateWindow
а не автосоздание прослойкой TForm)))
таймер в таком случае через SetTimer


 
Kilkennycat ©   (2013-05-11 14:08) [8]


> таймер в таком случае через SetTimer

его так в любом случае можно.


 
Bitt   (2013-05-11 14:20) [9]

да, только в любом случае мне отображать результаты на форме TForm.
И у него нет доступа
типа на делфи перевести
if (global==0){
Form1->StatusBar1->Panels->Items[0]->Text = "";
}


 
Anatoly Podgoretsky ©   (2013-05-11 14:53) [10]

Формы не создаются с помощью CreateWindow.


 
Dimka Maslov ©   (2013-05-11 21:46) [11]


> А если форма создана как винапишная, TObject понимает?


TObject - базовый класс всей иерархии. Форма не может ни понимать, ни не понимать TObject. Его можно и нужно использовать везде, где это необходимо и достаточно.


 
Bitt   (2013-05-11 23:22) [12]

Anatoly Podgoretsky
а чем окна создаются внутри кучи скрытого кода после компиляции в Делфи
неужели без единого CreateWindow или CreateWindowEx ?
Dimka Maslov
понятно


 
Anatoly Podgoretsky ©   (2013-05-12 11:10) [13]

Так то окна


 
Плохиш ©   (2013-05-12 13:33) [14]

Вот они какие - фобии у современных деток.


 
Bitt   (2013-05-13 14:12) [15]

про это и речь, для меня окна и форма одно и тоже)
Только формы у делфи больше новороченные, но так же прекрасно перехватываются на хуке создания окна.
Учите матчасть)


 
NoUser ©   (2013-05-13 22:31) [16]

> поток сделанный вручную
CreateThread ?

> Учите матчасть)

Хм, до CreateWindowEx добрались, наверное понимаете что есть stdcall, про Event (и, обоже, хук) слышали, - так в чем вопрос.



Страницы: 1 вся ветка

Текущий архив: 2013.10.27;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.008 c
15-1368216598
Bitt
2013-05-11 00:09
2013.10.27
Передать управление при изменении byte


15-1359569183
dmk
2013-01-30 22:06
2013.10.27
UPS или проблемы с электропитанием


2-1359720812
salexn_123
2013-02-01 16:13
2013.10.27
Компиляция из командной строки


15-1368449808
sniknik
2013-05-13 16:56
2013.10.27
Ищу книгу (/автора)...


15-1368785148
Дмитрий С
2013-05-17 14:05
2013.10.27
Продление SSL сертификата веб-сервера.