"Clicked" in Form1, jetzt aller Code da drin - oder doch besser als .cpp?



  • cpp

    private: System::Void KundenBindingNavigatorSaveItem_Click(System::Object^  sender, System::EventArgs^  e) { 
                     this->Validate(); 
                     this->KundenBindingSource->EndEdit(); 
                     this->KundenTableAdapter->Update(this->RAT1DataSet->Kunden); 
                 } 
    private: System::Void kundenEinzel_Load(System::Object^  sender, System::EventArgs^  e) { 
                 // TODO: Diese Codezeile lädt Daten in die Tabelle "RATDataSet.Kunden". Sie können sie bei Bedarf verschieben oder entfernen. 
                try 
                { 
                    //this->KundenTableAdapter->Connection->ConnectionString = L"Data Source=.\\SQLEXPRESS;AttachDbFilename=" + RATStart::datenBankName + ";Integrated Security=True;Connect Timeout=30;User Instance=True"; 
                    this->KundenTableAdapter->Fill(this->RAT1DataSet->Kunden); 
                } 
    
                catch(Exception^ ex) 
                {    
                    MessageBox::Show(ex->Message,MessageTitel + " Fehler in " +ex->Source,MessageBoxButtons::OK,MessageBoxIcon::Exclamation);        
                    //MessageBox::Show("Bitte suchen Sie erst die Datenbank \" RAT1.mdf \" auf Ihrem System.","Fehler...",MessageBoxButtons::OK,MessageBoxIcon::Error); 
                } 
    
             }
    

    Header

    private: System::Void KundenBindingNavigatorSaveItem_Click(System::Object^  sender, System::EventArgs^  e);
    private: System::Void kundenEinzel_Load(System::Object^  sender, System::EventArgs^  e);
    

    Du kannst eine Statische Klasse anlegen mit einem statischen Member. Diesen kannst Du dann setzen.

    Es wäre dann aber eleganter eine Statische Klasse zu schreiben, die eine Statische Messagebox irgendwas Methode hat und Dir das setzen des Titels gleich ganz erspart.



  • Danke, werde ich ausprobieren mit der Klasse.
    Versuche mich eine bisschen, wenn es auch nicht leicht fällt an die Regeln der Datenkapselung zu halten.
    Glaube auch, dass mit der Klasse ist ein gute Idee.
    Oder ich kloppe mir die Konstante über ISO C++ Code in die IDE.
    Da man ja leider String^ nicht Global vereinbaren kann und darf.

    Das andere habe ich mal eben verschoben.
    Nur habe ich das Gefühl, weil ich nun wieder Mega viele Fehler (33) bekommen habe.
    Das die *.h nix von der *.cpp weiß, da der Code in der *.cpp nicht mit eingebunden wird.
    Funzt das bei Dir?
    Sonst werde ich mal meinem Dozenten auf den Keks gehen.
    Würde die Dateien auch gerne trennen.

    Danke vielmals für Deine Hilfe.



  • Die .h weiß nix von der .cpp das ist richtig.

    Aber mom,. ich hab was vergessen:

    System::Void **kundenEinzel::**KundenBindingNavigatorSaveItem

    Beim Auslagern musst Du den Klassennamen vor die Methode schreiben!



  • Nix zu machen, 35 Fehler.
    "kundenEinzel" wird noch nicht einmal in der Memberliste aufgeführt.
    Schreibst Du Deine Projekte so?

    private: System::Void kundenEinzel::KundenBindingNavigatorSaveItem_Click(System::Object^  sender, System::EventArgs^  e) 
    		 {
    				 this->Validate();
    				 this->KundenBindingSource->EndEdit();
    				 this->KundenTableAdapter->Update(this->RAT1DataSet->Kunden);
             }
    


  • Ja.

    Wie gesagt, bereinige das Projekt mal, pack es und mail es mal zu. Dann kann es ich mal durch den Compiler jagen und guggen wo es klemmt.



  • Doug_HH schrieb:

    private: System::Void kundenEinzel::KundenBindingNavigatorSaveItem_Click(System::Object^  sender, System::EventArgs^  e) 
    		 {
    				 this->Validate();
    				 this->KundenBindingSource->EndEdit();
    				 this->KundenTableAdapter->Update(this->RAT1DataSet->Kunden);
             }
    

    Steht das bei dir so in der cpp? Sollte zwar keine Fehler geben, aber das "private" kannst dir in der cpp sparen!



  • Nee, das steht in der Header so.



  • Du müsstest Dein Beispielprojekt angepasstim Postfach liegen haben



  • Danke Knuddlbaer, echt besser so.

    Sorry, aber der Ehrgeiz hat mich eben gepackt, habe grade mein ganzes Projekt umgestrickt (ist noch nicht ganz so groß).
    Ist so viel sauberer und übersichtlicher.
    Wenn man das gleich von Anfang an macht, hat man danach nicht soviel Arbeit.
    Super Sache, werde das au jeden Fall so weiter machen.
    Ok, meine erste Antwort streichen, die Faulheit war stärker. 😉

    Danke nochmal.

    Gruß, Doug_HH



  • Die Diskussion hier war sehr aufschlussreich, danke.
    Ich habe jetzt den Code in die .cpp gepackt, wie sich das gehört. 🙂


Anmelden zum Antworten