Visual C++ 2012: Keine WindowsForms-Anwendung?



  • Ich habe MS Visual Studio 2012 installiert um C++-Anwendungen mit Windows Forms zu schreiben. Nun ergeben sich zwei Probleme:

    Ich finde keine Möglichkeit, eine neue "Windows Forms-Anwendung" zu erstellen.

    Ich habe es mit einem Win32-Projekt versucht, aber da bekomme ich es einfach nicht hin, den Forms-Designer anzeigen zu lassen, um meine Form zu gestalten.
    😕

    Kann mir da jemand helfen? Muss ich etwas extra installieren?

    Es ist jedoch möglich, ältere Projekte, welche ich zu VC++ 2008-Zeiten erstellt habe, zu öffnen und zu kompilieren.





  • GR-Thunderstorm schrieb:

    ...Ich habe es mit einem Win32-Projekt versucht, aber da bekomme ich es einfach nicht hin, den Forms-Designer anzeigen zu lassen,...

    Grundsätzlich kann ich mich nur den Vorredner anschließen (Siehe Kommentar im Link unten), aber etwas genauer:

    Da die Verwendung von Windows Forms die Verwendung des .Net-Frameworks (managed Code) erzwingt, geht dies nicht mit Win32-Projekten (nativer C++ Code). Und Microsoft hat absichtlich inzwischen den Support beschnitten (ich glaube inzwischen fehlt Intellisense in C++/CLI-Projekten)...



  • Den Ausschnitt aus der Hilfe in besagtem Link habe ich auch schon entdeckt. 😞

    MS will vermutlich einfach nur seinen eigenen Standard (C#) durchdrücken. 👎 Bislang hatte ich nie Probleme mit C++ und Forms-Anwendungen! Aber nun muss ich mich wohl oder übel mit C# befassen. 😞 Dann kann ich das wohl auch knicken, mit dem AMD APP SDK in Verbindung mit Windows-Forms zu arbeiten, da es auf den ersten Blick ausschließlich kompatibel zu C++ ist. Sämtliche Code-Samples sind ebenfalls in C++ geschrieben. 👎

    Mal schauen, ob ich Forms-Anwendungen dann künftig auch unter Windows mit GTK programmieren werde. Das geht auch ohne Visual Studio prima. 💡



  • GR-Thunderstorm schrieb:

    MS will vermutlich einfach nur seinen eigenen Standard (C#) durchdrücken.

    MS interessiert das nicht die Bohne in welcher Sprache du mit dem .NET Framework arbeitest. Schließlich kannst du VB.NET Projekte mit Windows Forms problemlos erstellen.

    Der Punkt ist wie im verlinkten Artikel beschrieben der, dass C++/CLI (übrigens eine Sprache von MS!) nie für die Erstellung ganzer Programme gedacht war. Aufgabe war es eine Schnittstelle zwischen Managed- und Unmanaged-Funktionen anzubieten.

    Die richtige vorgehensweise für dich wäre also: Erstellung eines Projektes in C++/CLI, welches die Zugriffe auf die API regelt. Dieses kompilierst du zu einer DLL und bindest es z.B. in einem C# Programm ein. Im C# kannst du dann arbeiten, als wäre die Klasse direkt in der Projektmappe.



  • GR-Thunderstorm schrieb:

    MS will vermutlich einfach nur seinen eigenen Standard (C#) durchdrücken. 👎 Bislang hatte ich nie Probleme mit C++ und Forms-Anwendungen!

    Du meinst mit "C++/CLI" nicht "C++" (Eine MS-Erweiterung, die zwar in der Regel C++ versteht, aber auch keine komplette Kompatibilität besitzt). Mit "C++" war Windows Forms noch nie kompatibel.

    Und mit Windows Forms mag es ja mit C++/CLI noch gehen, spätestens bei den das .Net-Framework partielle Klassen für eine "schöne" Implementierung einsetzt, muss man ziemliche Fallstricke anstellen (z.B. kann man die WPF mit C++/CLI verwenden, aber der Aufwand und die Einschränkungen führen dies eigentlich ad absurdum).

    GR-Thunderstorm schrieb:

    Aber nun muss ich mich wohl oder übel mit C# befassen.

    Es gibt auch diverse UI-Frameworks für C++, und einige lassen sich auch (wenn auch nicht unbedingt mit Designer) im Visual Studio nutzen.



  • inflames2k schrieb:

    Der Punkt ist wie im verlinkten Artikel beschrieben der, dass C++/CLI (übrigens eine Sprache von MS!) nie für die Erstellung ganzer Programme gedacht war...

    Das stimmt nicht ganz. Bei der ersten Einführung war C++/CLI noch als "First Level Language" angekündigt, bereits mit der nachfolgenden VS-Version wurde dies aber revidiert.


Anmelden zum Antworten