Форум: "Прочее";
Текущий архив: 2013.10.27;
Скачать: [xml.tar.bz2];
ВнизПередать управление при изменении 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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.003 c