.NET und C++ Fragen



  • Hi und Hallo,

    sorry das ich mich hierhin "verirrt" habe. Ich würde es ja auch gerne in das dazugehörige SubForum schrieben, doch leider ist das nicht möglich, da dort nur Moderatoren eine Frage stellen dürfen und antworten!

    Naja, hier ist vielleicht noch ein Ort wo man fragen kann.

    Okay, also ich habe eine Appliaktion (C++) und ich bin angeödet und genervt von MFC! Nun habe ich mal mit den WindowsForms mit einem "CLR"-Projekt rumgespielt, und bin da a bissl begeistert!! Aber leider ist der Syntax unterschiedlich, kann man da vielleicht eine "Brücke" zu meinem Standart C++-Code/Programm schlagen?

    Bye + Thx!



  • Nein. Höchstens schichtenweise auftrennen, und eine native Logikschicht per p/Invoke aufrufen. Ansonsten benötigst du schon Managed C++ für WinForms, was aber die dir fremde Syntax impliziert!



  • Wenn du nicht auf .NET angewiesen bist, sondern wirklich nur von MFC angeödet, dann versuch doch mal wxWidgets, Qt, gtkmm oder oder... alles C++ ohne andere Syntax.



  • aha,

    naja, ich habe bisher nur MFC unter VC++/VS 2005 probiert und das ist da nicht so das gelbe vom Ei finde ich! Dann habe ich mich versucht mit Qt vertaut zu machen, was wirklich sehr sehr gute Möglichkeiten bietet und vorallem hohe Flexibilität! Nachteil meines Erachtens von Qt ist die (natürlich gerechtfertigte) "Einarbeitungszeit"!

    Naja, wirklich auf .Net bin ich nicht angewiesen, wäre aber schön wenn es da Möglichkeiten geben würde mein C++-Code da zuverwenden.

    Gibt es einen Unterschied zwischen MFC VS 2005 zu VS 2008 ?

    Bye J.



  • Du kannst .NET mit C++/CLI ansprechen - das ist ein C++ dialekt



  • joggel schrieb:

    Nachteil meines Erachtens von Qt ist die (natürlich gerechtfertigte) "Einarbeitungszeit"!

    Aha, das man für .NET keine Einarbeitunsgzeit benötigt, war mir nicht bekannt. 😃 Deshalb hast du ja keine Probleme damit und stellst deshalb hier auch keine Fragen dazu. 👍



  • Bulli schrieb:

    Aha, das man für .NET keine Einarbeitunsgzeit benötigt, war mir nicht bekannt. 😃 Deshalb hast du ja keine Probleme damit und stellst deshalb hier auch keine Fragen dazu. 👍

    Naja, ich kann nicht sagen, wie lange es dauert sich in .Net einzuarbeiten, ich habe auch nicht gesagt, dass ich keine Einarbeitungszeit in .Net benötige, ich habe lediglich festgestellt, dass ich mich in Qt doch schon eine Weile damit beschäftigen müsste, und ich aber keine Ahnung habe, wie es sich dabei unter .Net und Co. verhält!

    Bye J.



  • Wenn du von C++ her kommst wirst du wohl schon einiges an Zeit brauchen dich in das .NET Framework einzuarbeiten. Zumindest wenn du es wirlich gut genug verstehen willst um "saubere" Programme zu schreiben.

    Ganz einfach deswegen weil du, wenn du von C++ kommst, die für GC Sprachen typischen "Undinge" noch nicht kennen wirst.

    Andrerseits hast du beim .NET Framework was GUI angeht den Forms Designer, der einem schon beträchtlich viel Arbeit abnimmt. Bei anderen GUI Frameworks hast du entweder garkeinen grafischen Editor, oder maximal einen der nicht ins Studio integriert ist, und meist auch nicht so mächtig wie der Forms Designer.



  • Qt hat seit kurzem einen gute ide, die auch einen guten FormEditor hat. Ich sehe keinen Grund VS zu verwenden!



  • joggel schrieb:

    Aber leider ist der Syntax unterschiedlich, kann man da vielleicht eine "Brücke" zu meinem stan**** C++-Code/Programm schlagen?

    Ja. Du kannst .NET Code und Bibliotheken zusammen mit deinem STD-C++-Code verwenden, ohne auch nur eine einzige Zeile in deinem alten Code zu ändern. Aber um das machen zu können, musst du C++/CLI lernen, denn nur damit kannst du .NET verwenden (ausser wenn du dich mit den Internals auskennst, aber das ist eine andere Sache^^). C++/CLI ist nicht so eine Sache, wenn du vorher schon mit C++ programmiert hast und .NET von sonst irgendwo kennst (etwa C#). Der GUI Editor im VS ist verglichen mit allen anderen die ich bisher gesehen habe vernichtend mächtig (aber ich benutze ihn inzwischen nur noch relativ selten...)

    MfG



  • Bist du sicher, dass du mit .NET anfangen willst? Ich gehe genau die andere Richtung. .NET läuft per CLR auf einer virtuellen Maschine und soll so durch sein Framework plattformunabhängig werden - so will es MS. Doch zu oft habe ich mit .NET/C++ ein Programm geschrieben, kaum teste ich es anderswo und das .NET-Framework ist nicht installiert oder veraltet: gerade in Deutschland, wo es zu wenige Systemadmins gibt, ist das ein Problem! MFC und WinAPI funktionieren wenigstens...


Anmelden zum Antworten