Form aus Form aufrufen



  • Hallo,

    ich bin jetzt grade neu hier, weil ich eure Hilfe brauche und ich mich in C++ noch nicht so gut auskenne. Dafür bedanke ich mich schon mal im Vorraus 🙂

    Zu meinem Problem:

    Ich will in einer Form, wie man aus der Überschrift entnehmen kann, eine weitere Form aufrufen und die andere Form danach schließen. Mein Versuch:

    #include "Einzelspieler.h"
    .
    .
    .
    	private: System::Void button1_Click_1(System::Object^  sender, System::EventArgs^  e) {
    
    				Einzelspieler neu  = new Einzelspieler();
    				neu->Show();
    
    			 }
    

    als Fehlermeldung gibt er mir einen ganzen haufen aus, die jedoch alle, so denke ich Folgefehler sind.

    1>c:\users\chris\documents\visual studio 2010\projects\vier_gewinnt\vier_gewinnt\Form1.h(162): error C2065: 'Einzelspieler': nichtdeklarierter Bezeichner
    1>c:\users\chris\documents\visual studio 2010\projects\vier_gewinnt\vier_gewinnt\Form1.h(162): error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'neu'
    1>c:\users\chris\documents\visual studio 2010\projects\vier_gewinnt\vier_gewinnt\Form1.h(162): error C2065: 'neu': nichtdeklarierter Bezeichner
    1>c:\users\chris\documents\visual studio 2010\projects\vier_gewinnt\vier_gewinnt\Form1.h(162): error C2061: Syntaxfehler: Bezeichner 'Einzelspieler'
    1>c:\users\chris\documents\visual studio 2010\projects\vier_gewinnt\vier_gewinnt\Form1.h(163): error C2065: 'neu': nichtdeklarierter Bezeichner
    1>c:\users\chris\documents\visual studio 2010\projects\vier_gewinnt\vier_gewinnt\Form1.h(163): error C2227: Links von "->Show" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.
    

    Da in vielen Foren anscheinend diese Lösung klappen soll, weiß ich nicht wo mein Problem liegt...habt ihr eine Idee?

    PS: Ich weiß zwar das in der ersten Zeile eine Art instanz oder so aus der Form Einzellspieler gemacht wird, würde mich aber über eine kleine Erklärung der Zeile

    Einzelspieler neu  = new Einzelspieler();
    

    freuen, da ich gerne mehr verstehen will(warum das eine Instanz sein muss bzw was es ist), aber auch nur wenn es euch nicht zu viel ausmacht 🙂
    Danke!

    PSS: Sry dies ist hoffentlich nun das richtige Forum 🙂 Ich habe grade Gelesen das es Schwirigkeiten gibt bei den Windows Forms unter C++/CLI? Ich muss sagen das ich es einmal geschafft habe eine Form mit einem Button in diesem Programm aufzurufen, jedoch nach einer kleinen änderung ging nichts mehr und ich komme nicht mehr zurück 😕 Im übrigend bin ich leicht verwirrt was für ein Programm das jetzt ist...(benutzte Microsoft Visual Studio 2010) und dort ist es "normal" unter C++ aufgeführt? bitte um hilfe

    Mfg Chroscher



  • Unbedingt lesen: http://www.c-plusplus.net/forum/263084

    Zusammenfassung: Vergiss C++/CLI, wenn du WinForms willst, dann verwend C#, C++/CLI ist dafür völlig ungeeignet.



  • Wenn ich das richtig verstanden habe ist automatisch jede c++ Form c++/CLI?

    Da steht unter anderem das man dann die Professional Version nehmen sollte was ich tue....weiterhelfen tut es mir jetzt relativ wenig ^^

    was ist denn wenn ich nun MFC oder eine freie GUI-Bibliothek wie wxWidgets, GTK oder QT einbinde...könnte es dann was werden?

    Mfg Croscher

    Ps: Entschuldigung für mein Unwissen ^^



  • Sowas wie eine C++ Form gibt es nicht. Wenn du GUI mit C++ machen willst, musst du das über die entsprechenden APIs des jeweiligen Betriebssystems (unter Windows eben die Win32 API) machen oder eben eine Library wie z.B. Qt verwenden, die das für dich erledigt.
    WinForms sind .NET. Mit C++ kannst du .NET gar nicht verwenden. Das geht nur mit C++/CLI, was allerdings eine eigene Sprache ist. C++/CLI ist allerdings rein nur für Interop gedacht und für das Erstellen von kompletten UI Anwendungen absolut ungeeignet. Verwend C#.



  • Danke für die Aufklärung 🙂

    Ich werde mich denn gleich mal ran machen.

    Mfg Croscher


Anmelden zum Antworten