Form Caption mit Thread aktualisieren



  • Hi!

    Ich möchte die aktuelle Zeit im Titel der Form darstellen, allerdings bekomme ich das mit dem Thread nicht hin.

    Habe nach einigen versuchen folgende Seite zu rate gezogen: http://bcb-tutorial.c-plusplus.net/Thread/artikel5.html

    Dort heißt es:

    void __fastcall TMyThread::GuiElements()
    { //Da wir uns nicht im Gültigkeitsbereich von Form1 befinden, müssen wir qualifizieren mit Form1.
        Form1->DisplayLabel->Caption = IntToStr(FCount);
    }
    

    Diese Funktion habe ich mal nachgebaut:

    void __fastcall TimeThread::Execute()
    {
    	while( !abbruch )
    	{
    		Synchronize(&GuiElements);
    	}
    }
    //---------------------------------------------------------------------------
    void __fastcall TimeThread::GuiElements()
    {
    	Form1->Caption = Time();
    }
    //---------------------------------------------------------------------------
    

    Mir ist klar dass der Thread Form1 nicht kennen kann, aber der Text von obriger Seite suggeriert mir gegenteiliges 😕

    Wie ist das also zu verstehen oder zu lösen?

    lg



  • Hallo

    Um den Code zum Laufen zu bringen, fehlt vermutlich nur ein include

    #include "Form1.h" // Hinzufügen, Dateinamen eventuell anpassen
    ...
    
    void __fastcall TimeThread::GuiElements()
    {
        Form1->Caption = Time(); // Jetzt ist der globale Zeiger bekannt
    }
    

    bis bald
    akari



  • Ich dummerchen, daran hätt ich auch denken sollen 🙄

    Vielen Dank ^^


Anmelden zum Antworten