im bcb6 zweites Formular aufschlagen



  • ich komme aus der Visual Basic Welt und bin noch ein ziemlicher Neuling in C(++).
    Ich scheitere schon an dem Problem ein zweites Formular, was ich in der Enwicklungsumgebung erstellt habe aufzuschlagen und danach das erste Formular zu schließen.
    ich arbeite mit dem BCB6
    heimschmiede



  • Ich kann zwar nicht so ganz nachvollziehen was du mit "aufschlagen" meinst, aber guck dir in der Hilfe doch mal die Methoden von TForm an. (Vielleicht suchst du Show() und Hide())



  • Mit

    //OnButtonKlick
    Form2->Show(); // anzeigen
    Form1->Hide(); // ausblenden
    

    siehe auch

    //OnButtonKlick
    Hide();
    Form2->ShowModal();
    Show();
    

    weitere Informationen stehen in der Hilfe



  • Das habe ich auch schon versucht mit

    Form2->Show();
    

    Aber beim compilieren bekomme ich folgende Fehlermeldung:
    Undefiniertes Symbol 'Form2'
    Aber meine zweite Form heißt auch mit Namen Form2 !!
    heimschmiede



  • schreib oben in der CPp von Form1:

    #include "Form2.h"
    


  • Danke, jetzt klappt es.
    es war aber nicht das selbe.
    ich musste:

    #include "Unit2.h"
    

    einfügen.
    heimschmiede



  • hallo,

    das ist richtig, zu einem formular gehört auch immer zwangsläufig eine unit (besser gesagt 2 units, da c++ noch das alte konzept der header-dateien nuzt) wohin gegen zu einer unit nicht zwangsläufig ein formular gehören muss.
    dein formular heisst Unit2.dfm und deine units heissen Unit2.cpp und Unit2.h.
    in der h-datei sind nur deklarationen drin, in der cpp steht der quellcode. das ist in c++ am anfang ein wenig wirr, hat aber durchaus seine berechtigung (wobei das mit der header eigentlich nicht unbedingt sein müsste :-)...

    diese grundlagen solltest du im schlaf runterlabern können, die sprache an sich ist sehr vielseitig, aber die wichtigsten sachen kannst du von basic ableiten (schleifen, verzweigungen, funktionen -> in cpp gibt es nur funktionen, die funktionen die nix zurückgeben haben den wert void, etc).
    wenn du diese grundlagen kannst, kommst du mit dem builder sehr gut zurecht, da die ide an sich um welten besser ist, als alles was ms (ausser c#) aufzubieten hat...

    mfg
    murph



  • ich find die trennung zwischen Header un cpp sehr gut. Das macht die Sache viel übersichtlicher. Wenn sich jemand mit einer Klasse auseinandersetzen muss, oder mal schnell nachschauen will, was für Eigenschaften oder Methdoen es gibt ist die header erstklassig. Die Implementierung stört nur beim lesen.


Anmelden zum Antworten