form neuladen



  • hallo zusammen,

    ist wahrscheinlich ne ganz doofe anfänger frage, aber wie kann ich ein form neu laden so das es im kompletten anfangszustand ist, ohne das ich jede einzelne variable zurücksetze

    probiert habe ich folgendes:

    Form1->Close();
    Form1->Show();
    

    und

    Form1->Refresh();
    Form1->Show();
    

    Das Formular wurde auch jedesmal geladen, aber immer mit dem alten inhalt. (Das neuladen das Formulars mache ich aus einem anderen Formular heraus)

    Vielen Dank schonmal

    Gruß sw0ce



  • Form1 ^frm1 gcnew Form1();
    frm1->ShowDialog();
    


  • Hi Jochen,

    Danke für deine Antwort. Leider muss ich feststellen das ich im falschen board gelandet bin. Mein Fehler. Ich nutze Borland c++ Builder 6.
    Wenns möglich ist bitte verschieben 🙂

    Danke und Gruß sw0ce.

    btw: wenn du trozdem die antwort weißt bitte posten ^^ danke



  • Dieser Thread wurde von Moderator/in Jochen Kalmbach aus dem Forum C++/CLI mit .NET in das Forum VCL/CLX (Borland C++ Builder) verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Hallo

    Um mal Jochens Code für den Builder umzusetzen :

    TForm1 *NewForm = new TForm1(Application);
    NewForm->Show();
    // oder
    NewForm->ShowModal();
    

    Das erfordetr aber das du das alte Form schließt und löscht, und du darfst nicht die von der IDE vorbereiteten Pointer und Instanzen von TForm2 benutzen.

    Deshalb ist auf jedenfall besser in der Formklasse eine Initialisierungsfunktion zu schrieben die eben manuell jede Variable/Control zurückstetzt.

    bis bald
    akari



  • Ok das klappt soweit.

    dank dir.

    kleine frage noch: wie lösche ich das alte form. schließen ist kein thema.
    anlegen zur lauzeit mach ich ja mit application->createform. aber löschen? gibt es sowas wie unset oder delete?



  • Hallo

    kleine frage noch: wie lösche ich das alte form. schließen ist kein thema.

    Mit delete natürlich

    anlegen zur lauzeit mach ich ja mit application->createform

    Nein das ist für die Laufzeit nicht passend, benutzt lieber wie gezeigt new.

    bis bald
    akari


Anmelden zum Antworten