Problem mit Synchronize()



  • Hallo,

    ich habe einen Thread mit einer Funktion "drawForm()"

    Header (gekürzt swecks Übesicht)

    class Thread : public TThread
    {
    private:
      void drawForm();
      ...
    protected:
     ...
    public:
     ...
    };
    

    cpp von drawForm():

    void Thread::drawForm()
      {
       // zähler setzten
        EmailNrLabel->Caption = mailInkrement;
        Counter->Caption = (mailsgesamt + 1);
    
        // Vortschritsbalken einen nach vorne.
        ProgressBar->StepIt();
        FilenameLabel->Caption = Filename;
    
        mailsgesamt++;
      }
    

    Diese Methode möchte ich natürlich mit Synchronize() ausführen:

    Synchronize(drawForm);
    

    Als Ergebnist bekomme ich immer eine Fehlermeldung die ich nicht verstehe... 😞

    [C++ Fehler] Thread.cpp(106): E2034 Konvertierung von 'void (* (_closure )())()' nach 'void (_fastcall * (_closure )())()' nicht möglich
    [C++ Fehler] Thread.cpp(106): E2342 Keine Übereinstimmung des Typs beim Parameter 'Method' ('void (_fastcall * (_closure )())()' erwartet, 'void' erhalten)

    Das sagt mir leider überhaupt nix!
    Kann mir bitte jemadn helfen?

    Danke!!



  • Mach mal statt
    void Thread::drawForm()
    das hier
    void __fastcall Thread::drawForm()
    bzw. schau mal in die Hilfe zu Synchronize (Synchronize (Methode))



  • Danke, geht!


Anmelden zum Antworten