Czy robił ktoś kiedyś akcję TTimera w nowym wątku ?? Jeżeli tak prosiłbym o jakąś podpowiedź
pozdrawiam


int __fastcall Wyliczenia1(Pointer Parameter) { }void __fastcall TForm3::Timer1Timer(TObject *Sender)
{
Timer1->Enabled=false;
W_ID = BeginThread(NULL, 0, Wyliczenia1, this, 0, W_PD);
// ExitThread(GetExitCodeThread(Wyliczenia1, NULL)); // usunięcie wątku z pamięci, od tego momentu wątku nie można już wstrzymać.
Timer1->Enabled=true;
}

g00se napisał(a):W razie gdyby nastąpiła jakaś awaria, to główny timer staje i jest uruchamiany awaryjny timer,







Ale czy to jest takie istotne?
Po prostu chcę wykonać metodę w osobnym wątku, tak dla przetestowania.

polymorphism napisał(a):To po co ta cała gadka z timerem? Jak chcesz coś wywołać w wątku, to po prostu wywołaj to w nim, i tyle. Choć oczywiście jeśli koniecznie musisz mieć timer w wątku, to jest możliwość "postawienia" go, tyle tylko że to raczej nie przejdzie z klasą TTimer. Tutaj będziesz musiał użyć funkcji WinAPI, stworzyć pętlę komunikatów, taką jak dla okienek, stworzyć timer funkcją SetTimer i w pętli zrobić obsługę komunikatu WM_TIMER (chyba że dasz funkcję zwrotną przy tworzeniu timera).


wykonania zapytania n razy. Najprościej zrealizować to instrukcją goto:, ale równie dobrze możesz wykonać to w pętli while lub dowhile.
Powrót do Ogólne problemy z programowaniem
Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 8 gości