Umstieg von VC++ 6.0 MFC zu Microsoft Visual C++ 2005 Express Edition



  • Der Neuling schrieb:

    Sind die Beispiel die mit Borland C++ Builder geschrieben wurden (die haben den bessern Lehrstoff) auch in VC++ 6.0 von Microsoft nachzuvollziehen und umsetzbar?

    Jein! Kommt darauf an um was es da geht. Wenn es um die Standard-Lib (STL) geht, geht es mit allen dreien. Wenn es um MFC geht, dann nur in VC++. Wenn es um VCL geht, dann nur in Borland.

    VC++6 ist hoffnungslos veraltet (1998) und generell nicht mehr zu empfehlen!!! Wenn ein Seminar darauf noch aufbaut, ist das Seminar auch veralltet. 😃



  • Hab nun mal zwei Vergleiche gemacht.

    MessageBox in Microsoft Visual C++ 2005 Express Edition.

    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e)
    {
       MessageBox::Show("Das ist eine Test","Visual C++ 2005 Express Edition",MessageBoxButtons::OKCancel ,MessageBoxIcon::Question ,MessageBoxDefaultButton::Button2 ,MessageBoxOptions::RightAlign,false);
    
    }
    

    Und nun in Microsoft Visual C++ 6.0.

    void CBalken2D3DDlg::OnColorFrom() 
    {
       MessageBox("Das ist eine Test","Microsoft Visual C++ 6.0",MB_ICONINFORMATION | MB_OK);
    }
    

    Ich sehe da keinen zusammenhang und außerdem läuft Visual C++ 2005 Express Edition so richtig laaaaaaaaaangsam auf meiner Kiste.

    Hab 512 MB RAM, 1,60 GHz Prozessor, Windows XP Home, 5200 GeForce FX5200.

    Ist das zu wenig???

    Sorry wenn ich so dumm Frage.
    Aber versteh das wirklich nicht.

    Danke nochmal für die Hilfe.

    Möchte nicht in MFC meine Kraft reinstecken für nix und wieder nix.

    Danke Der Neuling



  • Der Neuling schrieb:

    Ich sehe da keinen zusammenhang

    Wie schon geschrieben wurde: Die VC2005EE hat keine MFC, weil sie kostenlos ist!!!
    Kauf Dir die VS2005 Standard-Edition, die enthält (wie VC6 auch; welches auch nicht kostenlos war) die MFC/ATL.

    oder Du mussst eben ganz umsteigen und Windows-Forms machen. Ist dann aber kein C/C++ mehr sondern C++/CLI!
    Auch kann es sein, dass Du in einigen Monaten dann doch von Windows-Forms nach WPF umsteigen willst/musst.
    Oder Du bleibst eben beim guten alten MFC...



  • Der Neuling schrieb:

    Hab nun mal zwei Vergleiche gemacht.
    MessageBox in Microsoft Visual C++ 2005 Express Edition.

    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e)
    {
       MessageBox::Show("Das ist eine Test","Visual C++ 2005 Express Edition",MessageBoxButtons::OKCancel ,MessageBoxIcon::Question ,MessageBoxDefaultButton::Button2 ,MessageBoxOptions::RightAlign,false);
    
    }
    

    das ist jedenfalls kein C++, sieht eher so aus wie irgendwas .NET -mässiges.
    mit vc++ express geht auch 'normales' C/C++ (eventuell musste 'ne andere version runterladen, es gibt c++ express wie auch c# express)



  • net schrieb:

    das ist jedenfalls kein C++, sieht eher so aus wie irgendwas .NET -mässiges.
    mit vc++ express geht auch 'normales' C/C++ (eventuell musste 'ne andere version runterladen, es gibt c++ express wie auch c# express)

    Das ist .NET

    Bei Fragen an C++ / .NET wenden Sie sich bitte an ein anderes Forum

    Der Neuling schrieb:

    Ich sehe da keinen zusammenhang und außerdem läuft Visual C++ 2005 Express Edition so richtig laaaaaaaaaangsam auf meiner Kiste.

    Bei jedem! Warum:

    • 40 % - MFC-Fenster
    • 30 % - Net-Fenster
    • 20 % - Office-Fenster (MsoCommandBar)
    • 10 % - Eigene Fenster (VB-Slider)
    • =>Gute 100 Fenster (darunter 4 Slider) (die sich nicht leiden können)
    • =>Viele Daten müssen verabeitet werden
    • Weil der Computer fühlt, dass du willst dar er was soll

    Mit freundlichen Grüßen
    Rhombicosidodecahedron



  • Hi Rhombicosidodecahedron,

    könnest Du bitte mal sagen was Du damit meinst, absolut null check. 😮
    Weiß absolut nicht was Du jetzt rüber bringen willst?

    Gruß Der Neuling 🙄



  • ich glaub er meint CPU belastung mit den % - aber ich kanns nicht nachvollziehen



  • Er hat versucht nur lustig zu sein. 😉



  • Er hat versucht nur lustig zu sein. 🙂

    Ist aber net geglückt.

    Hab mit mal andere Beitrage und Antworten von ihm angeguckt, und dazu sage ich jetzt wirklich nix.

    Scheint ja ein ganz Kluger zu sein. 🙄
    Habe heute noch mal mit der Schule gesprochen.
    Der Lehrer hat sich der Sache angenommen und ist auch eine wenig verwundert.
    Er nimmt sich der Sache mal an und zieht noch andere Lehrkräfte hinzu.
    Werde dann mein Wissen an Euch weiter geben. Wenn es Euch auch etwas interessiert?! 😉

    Bis die Tage.
    Ach ja Thx für die Hilfe.

    Der Neuling



  • Artchi schrieb:

    Er hat versucht nur lustig zu sein. 😉

    Jetzt bin ich aber beleidigt!

    Der Neuling schrieb:

    könnest Du bitte mal sagen was Du damit meinst, absolut null check.

    Was genau?

    Ich schrieb:

    Das ist .NET

    Ich wollte deine Vermutung bestätigen. Deine Funktion ist in Microsoft Visual C++ 2005 für das .NET-Framework geschrieben. Das .NET-Framework ist ganz was anders als MFC (das, was du bei Microsoft Visual C++ 6.0 benutzt).

    Ich schrieb:

    Bei Fragen an C++ / .NET [...]

    Wenn du Hilfe zum Thema "C++/CLI" suchst / brachst (ich glaube eher nicht), schau in dem verlinkten Forum nach.

    Ich schrieb:

    Bei jedem! Warum: [...]

    Die Microsoft Visual Studio 2005 besitzt einen "Mischmasch" aus Controls unterschiedlicher Herkunft (.NET, MFC und "selbst programmierte"). Außerdem besitzt es eine große Anzahl an Fenstern/Steuerelmenten, woduch das Studio langsam und instabiel wird. Das sind die Gründe warum es so langsam ist. Die Liste enhält - meiner Schätzung nach - die Gründe, weswegen es so langam ist. (Die Brozentzahlen geben das Mischmaschverhältnis wieder; der letzte Einrag nicht Ernst gemeint [aber nur der])

    Ohne Grüße
    Rhombicosidodecahedron

    P.S.: @Jochen Kalmbach: es ist möglich mit Microsoft Visual C++ 2005 Express Edition mit MFC zu programmieren. Er[Der Neuling] braucht nur z.B. Microsoft Visual C++ 6.0 Ablauf Modell (iIn machen Kompendien enthalten) und viele Änderungen. Bei mir kann er[MVC2005EE] es in ein Programm umwandeln und kann es auch debuggen.



  • Rhombicosidodecahedron schrieb:

    @Jochen Kalmbach: es ist möglich mit Microsoft Visual C++ 2005 Express Edition mit MFC zu programmieren.

    NEIN. Wurde doch schon zig mal gesagt. Dazu braucht man min. die VS2005-Standard-Version!

    Du kannst aber z.B. die WTL verwenden:
    http://www.codeproject.com/wtl/WTLExpress.asp

    Rhombicosidodecahedron schrieb:

    Er[Der Neuling] braucht nur z.B. Microsoft Visual C++ 6.0 Ablauf Modell (iIn machen Kompendien enthalten) und viele Änderungen. Bei mir kann er[MVC2005EE] es in ein Programm umwandeln und kann es auch debuggen.

    Keine Ahnung was Du mir damit sagen willst 😕



  • Jochen Kalmbach schrieb:

    Rhombicosidodecahedron schrieb:

    Er[Der Neuling] braucht nur z.B. Microsoft Visual C++ 6.0 Ablauf Modell (iIn machen Kompendien enthalten) und viele Änderungen. Bei mir kann er[MVC2005EE] es in ein Programm umwandeln und kann es auch debuggen.

    Keine Ahnung was Du mir damit sagen willst 😕

    Kurz:Bei mit läufts *.EXE erstellen und debuggen!
    (Komeilieren Damit es bei "Dem Neuling" auch läufe braucht er nur eine andere MFC-fähige Version von Visual Studio(wahrscheilich falsch ausgedrückt). Genauer gesagt, die Bibliotheken, Includeverzeichnisse und ggf. Soucrecode (also die Dateien, welche bei im Order "/Src/mfc" sind)

    Mit freundlichen Grüßen
    Rhombicosidodecahedron



  • Rhombicosidodecahedron schrieb:

    braucht er nur eine andere MFC-fähige Version von Visual Studio

    Sag ich doch: Für MFC braucht man min, die VS2005 Standard-Version
    Siehe auch:
    http://www.microsoft.com/germany/msdn/vstudio/products/produktvergleich.mspx



  • Danke, damit kann man doch arbeiten.
    Das ist doch mal eine klare Aussage. 😃

    Der Neuling



  • Jochen Kalmbach schrieb:

    Rhombicosidodecahedron schrieb:

    braucht er nur eine andere MFC-fähige Version von Visual Studio

    Sag ich doch: Für MFC braucht man min, die VS2005 Standard-Version
    Siehe auch:
    http://www.microsoft.com/germany/msdn/vstudio/products/produktvergleich.mspx

    T'schuldigung wenn wir uns missverstehen, ich meine bestimmte Dateien die in einem Software Developmet Kit, welches häufig mit einem Visual Studio ausgeliefert wird, mit drin sind; Zum Beispiel: "stdafx.h", "mfx*.lib"

    Ich ging davon aus dass der Neuling, weil er einen Wechsel von Microsoft Visual C++ 6.0 zu VS2005 auch das Erstere, bzw. die oben genannten Dateien, noch besitzt. Wenn man dan die Pfade richtig einstellt hier und da einige Bibliotheken hinzufügt kann man dann mit MVC2005EE MFC projekte Kompeilieren, und nach einigen Änderungen an einer Datei kleine (nicht so wie in MSVC6.0) MFC Anwendungen erstellen. Genauer Gesagt eine "_tMain"-Funktion ein "if"-Block und die Funktion "AfxWinInit" (und leider zwei Doppelzentner unfug!). T'Schuldigung, für mich ist dies MFC! (Auf meinem Rechner kann ich es Kompilieren!)

    Mit freundlichen Grüßen
    Rhombidingsbums

    p.S.: Die erste!

    Jochen Kalmbach schrieb:

    Siehe auch:
    http://www.microsoft.com/germany/msdn/vstudio/products/produktvergleich.mspx

    Ich sehe kein MFC - nirgendwo!!

    P.S.: Die zweite!

    Jochen Kalmbach schrieb:

    Rhombicosidodecahedron schrieb:

    braucht er nur eine andere MFC-fähige Version von Visual Studio

    Sag ich doch: Für MFC braucht man min, die VS2005 Standard-Version

    Zur verdeutlichung es würde auch mit "Microsft Visual C++ 6.0 Ablauf Modell" gehen, denn da ist auch "'n bissle" MFC" dabei und ich brauche nur das "bissle" MFC und nicht Monoposofts Entwicklungsdinger



  • Rhombicosidodecahedron schrieb:

    Ich ging davon aus dass der Neuling, weil er einen Wechsel von Microsoft Visual C++ 6.0 zu VS2005 auch das Erstere, bzw. die oben genannten Dateien, noch besitzt. Wenn man dan die Pfade richtig einstellt hier und da einige Bibliotheken hinzufügt kann man dann mit MVC2005EE MFC projekte Kompeilieren, und nach einigen Änderungen an einer Datei kleine (nicht so wie in MSVC6.0) MFC Anwendungen erstellen.

    Hast Du es probiert???
    Das geht nicht so einfach; erstens ist der VC2005-Compiler wesentlich standard-konformer (und wird somit die MFC-H-Files gar nicht übersetzen können) und zweitens sind die LIBs/DLLs nur für Programme gültig, welche mit VC6 erstellt wurden.

    Rhombicosidodecahedron schrieb:

    Genauer Gesagt eine "_tMain"-Funktion ein "if"-Block und die Funktion "AfxWinInit" (und leider zwei Doppelzentner unfug!). T'Schuldigung, für mich ist dies MFC! (Auf meinem Rechner kann ich es Kompilieren!)

    Mit den VC6-H-Files? Kann ich mir nicht vorstellen.



  • Ich habe nun von der Schule bescheid bekommen.

    „Das kein MFC mehr geschult wird.“
    „Die Oberfläche wird jetzt mit WindowsForms gemacht, nicht mehr mit MFC."
    "Ein Fortschritt um Lichtjahre.“
    „Ob das Studium dann für Sie interessant wird, müssen Sie sich natürlich
    überlegen.“

    Ist das wirklich so, dass mein doch so geliebtes MFC so veraltet ist!?
    Bin doch grade erst mit MFC angefangen, hab gedacht das ist das Beste wo gibt?! 😮

    Danke wenn mir das jemand bestätigt.



  • DAs beste wo gibt? Warum? Nein, die MFC ist historisch gesehen nun... 20 Jahre alt? Und das merkt man heute.

    Eines hat die MFC _noch_ den WindowsForms bzw. .NET voraus: es gibt unmengen an Komponenten und Knowhow im Netz. www.codeproject.com ist so ein Kandidat. Was das angeht, ist MFC spitze. Aber wenn es um technisches Design um einen Schönheitspreis gehen würde, würde man die MFC mit Tomaten bewerfen. 😃

    WindowsForms ist aber auch nicht jedermanns Sache. Du müsstest C++/CLI lernen, für einen C++ Anfänger seeeeehr verwirrend und nicht zu empfehlen.

    Wenn du in C++ Windows-GUIs programmieren willst, schau dir mal wxWidgets oder SmartWin++ an. Es gibt auch noch andere Frameworks die gut sind, aber auch schlechte.

    Was du lernst, hängt davon ab, was du für Anforderungen stellst.



  • Danke Artchi für Deine schnelle und kompetente Antwort.

    Das was ich will ist C++ zulernen.
    Bewegt sich die WindowsForms mehr in C++ oder in CLI.
    Was ist CLI überhaupt? Wofür steht das?

    Möchte eine Programmiersprache studieren mit der ich auch später was auf'm Markt anfangen kann.

    Hoffe Du kannst mir noch mal aufs Pferd helfen.

    Danke.



  • Das was ich will ist C++ zulernen.

    Das kannst du auch ohne MFC! MFC ist nur eine Bibliothek, also eine Ansammlung von Klassen. Das schon allein Standard-ISO-C++ eine eigene Bibliothek mitbringt, hast du da schon genug zu lernen, bevor du dich an MFC wagen mußt.

    Bewegt sich die WindowsForms mehr in C++ oder in CLI.

    WindowsForms gehören zu .NET und somit CLI. Das C++/CLI ist sozusagen die C++-Brücke zu .NET und somit WindowsForms. Aber C++/CLI ist auch eine eigene Sprache, die ISO C++ erweitert.

    Wenn du C++/CLI lernen willst, ist das für einen Anfänger kaum zu beweltigen, da man auch ISO-C++ lernen muß. Wenn man zuerst C++ lernt, ist es einfacher _später_ C++/CLI zu lernen.

    Was ist CLI überhaupt? Wofür steht das?

    http://de.wikipedia.org/wiki/Common_Language_Infrastructure
    http://de.wikipedia.org/wiki/C%2B%2B/CLI

    Möchte eine Programmiersprache studieren mit der ich auch später was auf'm Markt anfangen kann.

    Wenn du da leidenschaftslos bist und es dir wirklich nur auf den Markt ankommt, solltest du dich in Stellenanzeigen umschauen, was gefordert wird. Wenn du sagst, ich will C++ lernen, weil ich nunmal C++ super finde, dann lerne auch C++. Ein Markt ist für jede Sprache da, egal ob Java, C#, C++ oder gar Cobol. Cobol wird z.B. viel in Konzernen auf Host-Systemen eingesetzt. Habe viele Kollegen die damit ihre Brötchen verdienen, weil die Software auf Host/Mainframes in Konzernen ein Konzernleben lang gepflegt werden muß. Aber ich persönlich würde es ungern machen.

    Wichtig ist nur eines: wenn du Java, C# oder C++ lernst, lernst du auch die Denkweise, die Logic und vorallem die Konzepte eines Software-Designs. Wenn man eine Sprache kann, ist es einfach auch eine zweite und dritte _nebenbei_ zu lernen.

    Weiterhin verlangt "der Markt" von dir, das du dich jederzeit in eine neue Bibliothek einarbeiten können mußt. Nur weil du vielleicht MFC lernst, heißt das nicht, das der nächste Arbeitgeber MFC-Leute einstellt. Du kannst dich "verkaufen" und sagen "Ich kann mich auch in Qt oder jede andere Bibltiothek einarbeiten, die sie in Ihrem Unternehmen einsetzen."

    Ich selber programmiere täglich Java auf Arbeit. Weil in dem Konzern wo ich arbeite, C++ gar keinen Stellenwert hat.


Anmelden zum Antworten