Timer zur Laufzeit erstellen ->OnTimer Ereigniss



  • Hallo,
    ich habe einen Timer zur Laufzeit erstellt und möchte das OnTimer Ereigniss nutzen.
    Leider Funktioniert der Code unten nicht, das OnTimer Ereigniss wird nicht
    ausgeführt.

    Header

    class TForm1 : public TForm
    {
    __published:	// Von der IDE verwaltete Komponenten
    	void __fastcall FormCreate(TObject *Sender);
    
    private:	// Anwender-Deklarationen
    public:		// Anwender-Deklarationen
          TTimer* Timer1;
    	void __fastcall Timer1Timer(TObject *Sender);
    	__fastcall TForm1(TComponent* Owner);
    };
    

    Modul

    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
    	: TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
    	Timer1 = new TTimer(NULL);
         Timer1->Enabled = true;
         Timer1->Interval = 100;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::TimerTimer(TObject *Sender)
    {
    	Timer1->Enabled = false;
    }
    


  • Du solltest vielleicht auch noch die Methode (bzw. Adresse dieser) der entsprechenden Eigenschaft des Timers
    zuweisen. Nur über den Namen funktioniert das nicht.
    Am besten, Du schaust Dir mal den entsprechenden FAQ-Eintrag an.

    Gruß,

    Alexander



  • Hallo,

    Du mußt es auch zuweisen :

    Timer1->OnTimer = Timer1Timer;
    

    P.S.:
    Die Funktion im Modul ist aber falsch geschrieben. Müsste das nicht so heißen ?
    [cpp]void __fastcall TForm1::Timer1Timer(TObject *Sender)[/cpp]

    Nash

    Edit :
    Na toll, immer zu langsam... 🙂



  • Stimmt ja, vielen Dank für die Hilfe.


Anmelden zum Antworten