Verständnisfrage zu Klasseninstanzen, Initialisierung und Parameterabgleich



  • Hallo zusammen,

    ich hänge im Moment an einer Frage wie ich eine Instanz über ein "SetupForm" aktualisieren kann.

    Folgendes:
    Ich habe eine Klasse (MyClass) von der mehrere Instanzen erzeugt werden können und wo nur Berechnungen laufen und ein Bitmap erzeugt wird das auf dem Hauptformular gezeichnet wird. Jetzt möchte ich über ein separates "SetupForm", das von einem erzeugten Objekt aufgerufen wird, Parameter abgleichen und verändern. Aber da fehlt mir die Idee wie ich das machen kann. Ich denke mal ich muss mir einen 2. Konstruktor der SetupForm anlegen mit dem ich per struct die aktuellen Parameter übergebe, etwa so:

    __fastcall TSetupBox(TComponent* Owner);  // Default Ctor
        __fastcall TSetupBox(TComponent* Owner, struct myParams);  // Parameterübergabe
    

    und die geänderten Parameter dann so im Objekt übernehmen:

    int __fastcall MyClass::Setup()
    {
     SetupBox = new TSetupBox(this);
     if ( SetupBox->ShowModal() == mrOK )
       {
        struct newParams = SetupBox->getParams();
        // hier werden dann die Parameter in dem Objekt aktualisiert
        // ...
       }
     delete SetupBox;
    }
    

    Wenn ich aber eine Änderung sofort sehen möchte, dann muss ich das Setup Formular erst mit OK schließen. Gibt es auch eine Möglichkeit einen Pointer der aufrufenden Instanz mitzugeben und dann aus dem Setup Formular die Setter des Objekts direkt aufzurufen, oder wie macht man sowas ?


Anmelden zum Antworten