Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.10.01;
Скачать: [xml.tar.bz2];

Вниз

Таймер   Найти похожие ветки 

 
trych ©   (2006-08-16 10:01) [0]

Дамы и господа, не подскажете, как мне реализовать таймер отдельным потоком?


 
alles ©   (2006-08-16 10:06) [1]

procedure TFrmConnect.BtnOkClick(Sender: TObject);
var ThreadId:Cardinal;
   ThreadHndl:Cardinal;
begin
    ThreadHndl:=CreateThread(nil,0,@InitializeTimer,nil,0,ThreadId);
    CloseHandle(ThreadHndl);
end;

function InitializeTimer(P:Pointer):LongInt;stdcall;
var TimeA:TTimer;
begin
TimeA:=TTimer.Create....
try
TimeA.Enable:=true;
finally
TimeA.Free;
end;
end;


 
Сергей М. ©   (2006-08-16 10:06) [2]

Например, вот так:

в теле TMyThread.Execute:

var
 Timer: TTimer;
 Msg: TMsg;
..

Timer:= TTimer.Create(nil);
try
 Timer.Interval := ...;
 Timer.OnTimer := DoOnTimer; //DoOnTimer - метод класса TMyThread с прототипом TNotifyEvent
 Timer.Enabled := True;
 while not Terminated and GetMessage(Msg, 0, 0, 0) do
    DispatchMessage(Msg);
finally
 Timer.Free;
end;


 
Сергей М. ©   (2006-08-16 10:08) [3]


> alles ©   (16.08.06 10:06) [1]


Мощно задвинул)


 
trych ©   (2006-08-16 10:14) [4]

Псиб, буду пробовать =)


 
rasvv ©   (2006-08-16 11:45) [5]

Объясните дураку что значит метод класса TMyThread с прототипом TNotifyEvent? Как его объявить и использовать?


 
Сергей М. ©   (2006-08-16 11:51) [6]


> rasvv ©   (16.08.06 11:45) [5]


Вот описание св-ва-события OnTimer:
property OnTimer: TNotifyEvent;

Вот соотв.объявление TNotifyEvent-типа:
type TNotifyEvent = procedure (Sender: TObject) of object;

А вот и он, тот самый метод класса
type
TMyThread = class(TThread)
..
 procedure DoOnTimer(Sender: TObject);
..
end;

Проанализируй все это и сделай соотв.умозаключения


 
rasvv ©   (2006-08-16 12:08) [7]

Спасибо, объяснил


 
Anatoly Podgoretsky ©   (2006-08-16 19:47) [8]

Зачем таймер в потоке, там есть более адекватные средства.



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

Форум: "Основная";
Текущий архив: 2006.10.01;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.016 c
3-1154330959
tomkat
2006-07-31 11:29
2006.10.01
Connect to Oracle


3-1154083227
Opilki_Inside
2006-07-28 14:40
2006.10.01
Использование CachedUpdates


15-1157637192
oldman
2006-09-07 17:53
2006.10.01
Завтра по СТС "ночной дозор"...


11-1133828548
-=Mike=-
2005-12-06 03:22
2006.10.01
Два вопроса по разработке компонентов.


2-1158224284
Rolf
2006-09-14 12:58
2006.10.01
Список записей.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский