VC++.NET '03 Problem mit 2. Form

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • VC++.NET '03 Problem mit 2. Form

    Guten Tag miteinander, ich habe folgendes Problem mit C++.Net 2003:

    Ich bin da an einem kleinen C++ Projekt dran, aber bin gerade beim Aufruf einer 2. Form stecken geblieben.
    Ich habe die Instanz erzeugt, so wie es im Internet für die 2003er Version beschrieben wird, aber beim Debuggen erscheinen dann Fehlermeldungen wie:

    "xyz: undeclared identifier" und "xyz: left of '->Show' must point to class/struct/union"

    Ich arbeite mit XP und benutze Visual Studio Prof. 2003.


    Hier der dazugehörige Code-Schnipsel:

    Quellcode

    1. private: System::Void btnAnleitung_Click(System::Object * sender, System::EventArgs * e)
    2. {
    3. //frmAnleitung = 2.Form
    4. frmAnleitung* neueForm = new frmAnleitung();
    5. neueForm->Show();
    6. }


    Könnt ihr mir weiterhelfen? Was habe ich nicht beachtet?

    Danke im Voraus!
    Gruss jott
  • Würde mal tippen dass deine Klasse frmAnleitung nicht bekannt ist.

    Quellcode

    1. #include "frmAnleitung.h"
    2. .......
    3. private: System::Void btnAnleitung_Click(System::Object * sender, System::EventArgs * e)
    4. {
    5. //frmAnleitung = 2.Form
    6. frmAnleitung^ neueForm = gcnew frmAnleitung();
    7. neueForm->Show();
    8. }


    Gruß void
    "Probleme kann man niemals mit derselben Denkweise lösen,
    durch die sie entstanden sind." (A. Einstein)
  • Danke, das hat die Fehlermeldungen verringert.
    Aber das gcnew geht bei mir nicht, sollte doch nur für die Version 2005 gehen oder? Und das "^"-Zeichen gibt auch mehr Fehlermeldungen aus, deshalb belasse ich es bei "*".

    Die "alten" Fehlermeldungen sind nun verschwunden, aber nun kommt eine neue --> "xyz: 'MoveUrBall::frmAnleitung::frmAnleitung' : cannot create a temporary object of a managed type":

    Momentaner Code:

    Quellcode

    1. #include "frmAnleitung.h"
    2. .......
    3. private: System::Void btnAnleitung_Click(System::Object * sender, System::EventArgs * e)
    4. {
    5. //frmAnleitung = 2.Form
    6. frmAnleitung* neueForm = new frmAnleitung();
    7. neueForm->Show();
    8. }




    habe die frmAnleitung in der form1.h datei included, is richtig so oder?

    Gruss jott
  • Der Fehler wird bei der Instanz angezeigt:

    frmAnleitung* neueForm = new frmAnleitung();.

    Muss ich irgendwo den __gc einfügen? Denn bei .Net 2005 heisst es doch auch "gcnew" anstatt "new".

    EDIT: Ich habe den Fehler gefunden, man schreibt nicht:

    Quellcode

    1. frmAnleitung* neueForm = new frmAnleitung();


    sondern:

    Quellcode

    1. MoveUrBall::frmAnleitung* neueForm = new MoveUrBall::frmAnleitung();


    Nun kann ich die 2.Form problemlos aufrufen. :)
    Danke für die Hilfe void!

    Gruss jott