OnClick eines Button einer anderen Form überschreiben



  • Hallo,

    Ich möchte ein bestehendes Formular in meinem Projekt verwenden. Dabei möchte ich, den OnClick-Event eines Button der Form mit einer neuen Funktion überschreiben. Ich bin dabei wie folgt vorgegangen:

    class TmainForm : public TForm
    {
    __published:	// Von der IDE verwaltete Komponenten
    	...
            void __fastcall ShowAnalysisButtonClick(TObject *Sender);
    private:	// Anwender-Deklarationen
          ...
    public:		// Anwender-Deklarationen
    	...
            TFunctionManagerForm* FunctionManager;
    };
    
    __fastcall TmainForm::TmainForm(TComponent* Owner)
    	: TForm(Owner)
    {
       FunctionManager = new TFunctionManagerForm(this);
       FunctionManager->Parent = this;
       FunctionManager->Align = alLeft;
       FunctionManager->ShowAnalysisButton->OnClick = ShowAnalysisButtonClick;
    }
    

    beim komplieren erhalte ich nun die Fehlermeldung:

    BCB schrieb:

    [Linker Fehler] Unresolved external '__fastcall TFunctionManagerForm::ShowAnalysisButtonClick(System::TObject *)' referenced from D:\_EIGENE_DATEIEN\C++ PROGIS\IN PROCESS\WEDINLD\FUNCTIONMANAGER.OBJ

    Was muss ich ändern, damit ich den OnClick des Button der Form FunctionManager mit dem Event der Form mainForm überschreiben kann?



  • Das Problem hat sich erledigt. Habe zuerst die Funktion in der Form, die ich einbinde, deklariert. Da sie dort aber nicht benötigt wird habe ich sie manuell wieder entfernt und die Deklaration unter published nicht gelöscht. Also lieber nichts manuell löschen, dann passieren solche Fehler nicht mehr...


Anmelden zum Antworten