Thread-Problem



  • Hallo zusammen,
    schon wieder ein Problem, bei dem ich nicht weiss woher es kommt:
    Ich habe folgendes im header:

    //---------------------------------------------------------------------------
    
    #ifndef TTimerThreadH
    #define TTimerThreadH
    //---------------------------------------------------------------------------
    #include <Classes.hpp>
    //---------------------------------------------------------------------------
    class TTimerThread : public TThread
    {
    
    private:
    
    protected:
            void __fastcall Execute();
    public:
            __fastcall TimerThread(bool CreateSuspended);
    };
    //---------------------------------------------------------------------------
    #endif
    

    und dasin der Klasse:

    //---------------------------------------------------------------------------
    
    #include <vcl.h>
    #include <sstream.h>
    #pragma hdrstop
    
    #include "TTimerThread.h"
    #include "Main.h"
    #include "Tools.h"
    #include "Splash.h"
    #include "TProtokoll.h"
    #pragma package(smart_init)
    
    //---------------------------------------------------------------------------
    
    __fastcall TTimerThread::TTimerThread(bool CreateSuspended)
            : TThread(CreateSuspended)
    {
      // Constructor
      Priority = tpNormal;          // Priorität setzten
    
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TTimerThread::Execute()
    {
    Application-> MessageBox("Thread started","",16);
    }
    

    Den Thread versuche ich so zu starten:

    Timer_TH = new TTimerThread(true);          // neue Instanz des Threads erstellen
    Timer_TH->Resume();                         // und Thread starten
    Timer_TH->Terminate();
    Timer_TH->WaitFor();
        if (Timer_TH)                           // Instanz löschen wenn sie noch existiert
          {                                     // -> Memoryleakage verhindern
          delete Timer_TH;
          Timer_TH = NULL;
          }
    

    Der Compiler meldet beim erstellen der Instanz aber das:
    **
    [C++ Fehler] MainForm.cpp(173): E2125 Compiler konnte Standardkonstruktor nicht für die Klasse 'TTimerThread' generieren.
    **
    Warum, wo ist mein Fehler? 😕

    Danke für die Hilfe!
    [edit] Quelltext nachgeführt



  • Hallo roN,

    änder mal die Deklaration im Header ab:

    __fastcall TTimerThread(bool CreateSuspended);
    

    Gruß Skay



  • Ah, richtig, doofes doppel-T hab' ich übersehen. Vielen Dank! 😃


Anmelden zum Antworten