TTimer Ereignis "OnTimer" in einem Thread



  • Hallo

    Ich möchte das Ereignis OnTimer von TTimer in einem thred benutzen. Wie kann ich dieses Ereignis definieren?

    Bis jetzt habe ich:

    __fastcall cSWLMailThread::cSWLMailThread(bool CreateSuspended)
      : TThread(CreateSuspended)
    {
      TTimer * ThreadTimer;
    
    }
    //---------------------------------------------------------------------------
    void __fastcall cSWLMailThread::Execute()
    {
      //---- Hier den Thread-Code plazieren----
    }
    //---------------------------------------------------------------------------
    void __fastcall cSWLMailThread::ThreadTimer(TObject *Sender)
    {
     // was machen
    }
    

    Wie ich mir auch hätte denken können, geht das so nicht.
    Könnt Ihr mir helfen?

    Danke!



  • Hallo

    was kommt denn also Fehlermeldung?
    Hast du die Mehtode cSWLMailThread::ThreadTimer denn auch in der Header-Datei des Threads in die Thread-Definition geschrieben?
    Desweiteren wird dir die lokale Deklaration des Timers im Konstruktor dir nicht weiterhelfen.

    bis bald
    akari



  • Was ich möchte ist einen Thread zu startem, der Zeitgesteuert bestimmte Aufgaben erfüllt (Emails abrufen). Der Thread soll dabei nach dem Start eine Zeit lang warten, und nach dieser Zeit bestimmte Aktionen durchführen. Anschließend soll er sich nicht beenden, sondern jeweils nach einer Zeit die gleiche Aktion nocheinmal durchführen. Der Thread soll weiterlaufen bis er vom Hauptprogramm beendet wird.



  • Die Zeitsteuerung des Threads sollte man von "außerhalb" vornehmen, nicht vom Thread selber.



  • wenn ich genauer drüber nachdenke, macht das eigentlich auch mehr sinn....
    thx!


Anmelden zum Antworten