tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
18
ZUGRIFFE
465
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    venson venson ist offline Rookie
    Registriert seit
    Jul 2011
    Beiträge
    9
    hallo,

    ein altes Tema aber für mich noch ungelöst:

    Wie Rufe ich aus Form1 Form2 auf?

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
     
     
     
     
    #pragma once
    #include "Form2.cpp"
    #include <ostream>
    #include <iostream>
    #include <windows.h>
    #include <string.h>
    #include "stdafx.h"
    ...
    public: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
    ...
        Form2^ f2 = gcnew form2();
        form2->Show();
    ...
    }   
    ...

    geht nicht weil:
    Code :
    1
    2
    3
    4
    5
    6
    
    error C2065: 'Form2': nichtdeklarierter Bezeichner
     error C2065: 'f2': nichtdeklarierter Bezeichner
     error C2061: Syntaxfehler: Bezeichner 'form2'
    error C2065: 'form2': nichtdeklarierter Bezeichner
     error C2227: Links von "->Show" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.
    1>        Typ ist ''unknown-type''

    Ich hatte schon eine Halbwegs Funktionierende lösung:

    Code :
    1
    2
    
    Form^ Form2 = gcnew Form();
        Form2->ShowDialog();

    aber die zeigte mir nur eine Leere Form an
    How to do?
    Geändert von venson (23.07.11 um 01:55 Uhr)
     

  2. #2
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Hi und Willkommen bei tutorials.de

    Da es sich hier um Winforms von .NET handelt, bitte weitere Fragen dazu hier stellen:
    http://www.tutorials.de/net

    Zum Thema:
    Ist es jetzt "Form2" oder "form2" ?
    Groß-/Kleinschreibung ist ein Unterschied.
    Das ist dann auch der Fehler beim "gcnew form2".

    Und in der nächsten Zeile, beim "->Show", musst du den Variablennamen f2 angeben, und nicht den Klassennamen form2.

    Gruß
     

  3. #3
    venson venson ist offline Rookie
    Registriert seit
    Jul 2011
    Beiträge
    9
    Die neue Form heißt Form2.h also groß geschrieben aber wie gesagt selbst wenn ich das schreibe:
    Code :
    1
    2
    
        Form2^ f2 = gcnew Form();
        f2->Show();
    bekomme ich vom Compiler den Fehler das Form2 nicht Deklariert sei:
    Code :
    1
    2
    3
    4
    
    'Form2': nichtdeklarierter Bezeichner
     error C2065: 'f2': nichtdeklarierter Bezeichner
     error C2065: 'f2': nichtdeklarierter Bezeichner
     Links von "->Show" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.
     

  4. #4
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Hast du überhaupt ein Form2 ?
    Und wenn du ein Form2 haben willst, muss bei gcnew auch Form2 stehen und nicht einfach nur Form.

    Lad vielleicht einmal das Projekt als Zip hier rauf. So kann man sich nicht wirklich ein Bild davon machen.
     

  5. #5
    venson venson ist offline Rookie
    Registriert seit
    Jul 2011
    Beiträge
    9
    Also eine Neue Form habe ich bereits über die Grafische oberfläche erstelt, also die datei Form2.h ist vorhanden und auch mit elementen gefüllt.

    OK ich Uppe es mal

    http://www.xup.in/dl,13484159/Datenbanken_versuch.zip/
    Geändert von venson (23.07.11 um 13:49 Uhr)
     

  6. #6
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    Zitat Zitat von venson Beitrag anzeigen
    bekomme ich vom Compiler den Fehler das Form2 nicht Deklariert sei:
    Außer dem was sheel schon geschrieben hat, sehe ich in deinem ersten Post die Zeile
    Code :
    1
    
    #include "Form2.cpp"
    . Du darfst nicht die Implementierung (.cpp), sondern musst den Header (.h) inkludieren.

    Gruß
    MCoder
     
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

  7. #7
    venson venson ist offline Rookie
    Registriert seit
    Jul 2011
    Beiträge
    9
    Hab ich getahn..

    sprich die Cpp rausgenommen aber die header is noch drinne:

    Form^ Form2 = gcnew Form();
    Form2->ShowDialog();

    verwende ich...Wieder nur Leere form
     

  8. #8
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Du solltest dir wirklich dringend den Unterschied zwischen Klassen und Instanzen anschauen.
    Mit anderen Worten Grundlagen.

    1: Du erstellst ein Form. Form ist die Basisklasse, von der From1, Form2 usw abgeleitet werden.
    Da ist nichts drin, kein Wunder dass es leer ist.
    Du musst ein Form2 erstellen.
    2: Als Variablennamen nicht Form2 nehmen. f2 hat doch gepasst.

    Und du hättest die Zipdatei auch hier im Forum hochladen können.
     

  9. #9
    venson venson ist offline Rookie
    Registriert seit
    Jul 2011
    Beiträge
    9
    Kannst du mir das mal in einem Sample veranschaulichen?Noch bin ich da nicht so ganz durchgestiegen
     

  10. #10
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    ...
    Bei den zwei Codezeilen in deinem vorigen Beitrag
    1) Statt "Form2" "f2" schreiben
    2) dann statt "Form" "Form2" schreiben.
     

  11. #11
    Avatar von MSVCplusplus
    MSVCplusplus MSVCplusplus ist offline Mitglied Brokat
    Registriert seit
    Dec 2010
    Ort
    Hessen
    Beiträge
    336
    Ich muss auch mal mein Senf dazu geben xD
    Es kommt auch drauf an wie du nach dem aufruf weitermachen willst:
    Bei dir (->Show) läuft das programm sofort weiter und bei ->ShowDialog hält das programm an bis die Form wieder geschlossen ist
    MFG
     
    Fehlermeldung bitte!
    Google - Dein Freund und Helfer

  12. #12
    venson venson ist offline Rookie
    Registriert seit
    Jul 2011
    Beiträge
    9
    @MSVCplusplus

    Wo du recht hast hast du recht war grade 2 wochen im Urlaub,

    @sheel

    Quasi so?:

    Code :
    1
    2
    
    Form^ f2 = gcnew Form2();
     Form2->Show();

    wenn ja:
    error C2061: Syntaxfehler: Bezeichner 'Form2'
    error C2065: 'Form2': nichtdeklarierter Bezeichner
     

  13. #13
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Code cpp:
    1
    2
    
    Form2^ f2 = gcnew Form2();
    f2->Show();

    Gruß
     

  14. #14
    venson venson ist offline Rookie
    Registriert seit
    Jul 2011
    Beiträge
    9
    error C2065: 'Form2': nichtdeklarierter Bezeichner
    error C2065: 'f2': nichtdeklarierter Bezeichner
    error C2061: Syntaxfehler: Bezeichner 'Form2'
    error C2065: 'f2': nichtdeklarierter Bezeichner
    error C2227: Links von "->Show" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.

    wie gesagt ich verstehe es eigenlich nicht ... das is ja die Bekannte metode aber sie funkt bei mir einfach nicht...habe auch nochmal Vc++ 2008 auf na Virtuellen box runtergeladen und GENAU das gleiche versucht...es geht auch da nicht
    Geändert von venson (08.08.11 um 21:28 Uhr)
     

  15. #15
    venson venson ist offline Rookie
    Registriert seit
    Jul 2011
    Beiträge
    9
    Ok,

    ich habe das problem zum TEIL gelöst...


    Datenbankenversuch::Form2 f2;
    f2.Show();

    Nur schließt sich die Form2 sofort nach dem aufrufen wieder...wie kann ich das ändern?
     

Ähnliche Themen

  1. Antworten: 13
    Letzter Beitrag: 05.10.11, 12:50
  2. Form2 aus Form1 fernsteuern
    Von mark1mark im Forum .NET Windows Forms
    Antworten: 3
    Letzter Beitrag: 28.01.08, 08:52
  3. Datenaustausch Form2 zu Form1
    Von theplake3000 im Forum VisualStudio & MFC
    Antworten: 20
    Letzter Beitrag: 21.07.07, 11:34
  4. var. übergeben form1.frm zu form2.frm
    Von MLelite im Forum Visual Basic 6.0
    Antworten: 11
    Letzter Beitrag: 13.07.05, 12:25
  5. Variablen von Form1 in Form2
    Von raenk im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 15.09.04, 17:14