Modulare Programmierung mit WindowsForms



  • Hallo Forum,

    hab wieder eine Frage, über die Modulare Programmierung mit WindowsForms.

    Zur Zeit arbeite ich an meinem Bildbearbeitungs-Porjekt, und jetzt da es größer geworden ist möchte ich es aufteilen.

    Wie man das mit einer Consoleanwendung macht weiß ich aber bei WindowsForms keine Ahnung.

    Einfaches Beispiel:
    Ich erstelle ein Windowsforms Projekt und füge dann ein Button ein und gebe dem Button ein Klick Ereignis. Das Klick Ereignis des Buttons erstellt eine MessageBox mit einer nachricht.

    Jetzt will ich das Klick Ereignis in einer anderen Datei aufrufen können weiß aber nicht wie.

    Hab schon

    System::Void button1_Click(System::Object^  sender, System::EventArgs^  e);
    

    in eine Headerdatei und Quelldatei eingefügt und in stdafx.h auf die Header verwiesen aber dann kommt die meldung

    1>.\mod1.cpp(4) : error C2059: Syntaxfehler: 'private'
    1>.\mod1.cpp(5) : error C2653: 'MessageBox': Keine Klasse oder Namespace
    1>.\mod1.cpp(5) : error C3861: "Show": Bezeichner wurde nicht gefunden.
    

    und wenn ich noch bei der cpp Datei "using namespace modula;" einfüge dann steht da

    1>.\mod1.cpp(2) : error C2871: 'modula': Es ist kein Namespace mit diesem Namen vorhanden
    


  • #include <iostream>
    #include <vector>
    #include <list>
    #include <deque>
    #include <algorithm>
    
    int main()
    {
        std::list<int>   menge1;
        std::vector<int> menge2;
    
        // Elemente 1 bis 6 in die erste Menge einfügen
        for (int i=1; i<=6; i++) {
            menge1.push_back(i);
        }
    
        // Platz für die zu kopierenden Elemente schaffen
        menge2.resize(menge1.size());
    
        // Elemente in die zweite Menge kopieren
        std::copy (menge1.begin(), menge1.end(),    // Quellbereich
                   menge2.begin());                 // Zielbereich
    
        /* dritte Menge ausreichend groß definieren
         * - Die Startgröße wird als Parameter übergeben
         */
        std::deque<int> menge3(menge1.size());
    
        // Elemente in die dritte Menge kopieren
        std::copy (menge1.begin(), menge1.end(),    // Quellbereich
                   menge3.begin());                 // Zielbereich
    }
    


  • ghostboss schrieb:

    Zur Zeit arbeite ich an meinem Bildbearbeitungs-Porjekt, und jetzt da es größer geworden ist möchte ich es aufteilen.

    in wie fern willst Du es aufteilen ... mehrere DLLs ... mehrere $WASAUCHIMMER ??

    Wie man das mit einer Consoleanwendung macht weiß ich aber bei WindowsForms keine Ahnung.

    eigentlich auch nicht anders

    Einfaches Beispiel:
    Ich erstelle ein Windowsforms Projekt und füge dann ein Button ein und gebe dem Button ein Klick Ereignis. Das Klick Ereignis des Buttons erstellt eine MessageBox mit einer nachricht.

    Jetzt will ich das Klick Ereignis in einer anderen Datei aufrufen können weiß aber nicht wie.

    klingt nach Plugin-Prinzip

    hand, mogel



  • in wie fern willst Du es aufteilen ... mehrere DLLs ... mehrere $WASAUCHIMMER ??

    Ich dahte mir so an .cpp oder .h Dateien, keine ahnung was da besser währe, damit es halt übersichtlicher wäre, weil jetzt habe ich 1080 Zeilen und dabei bin ich nur am Anfang.

    1. Werkzeugsteuerung
    2. Ebenensteuerung
    3. Anzeigesteuerung

    Hab es aber geschafft, das mit dem verschieben in .cpp Datei, also das hat sich erstmal erledigt, geht doch leicht 😃 .

    klingt nach Plugin-Prinzip

    Und wie geht der?


Anmelden zum Antworten