Modales Fenster wird nicht geschlossen



  • Hallo,

    ich habe folgendes Problem:

    ein Formular im Designer erstellt mit den Eigenschaften:

    Visible = false;
    BorderStyle = bsNone
    ...
    

    Aufgerufen wird das Formular wie folgt:

    Tprogr_schrott *n_progress;
      char done = 'X';
      int c_index = 0;
      AnsiString xls_bestand_file = MainForm->datapath+"Walzenbestand_"+
                            FormatDateTime("ddmmyyyy",Now())+".xls";
      Button1->Enabled = false;
    
      n_progress = new Tprogr_schrott(wk_schrott_druck);
      n_progress->ShowModal();
      return;
    

    in der Form soll eine Fortschrittsanzeige für durchzuführende Aktionen laufen.
    dazu im OnActivate des Formulares(hab's auch schon im OnShow versucht:

    void __fastcall Tprogr_schrott::FormActivate(TObject *Sender)
    {
      Application->ProcessMessages();
      for(int x=0; x<schrott_progress->Max; x++)
      {
        schrott_progress->Position = x;
        Application->ProcessMessages();
        Sleep(100);
      }
      ModalResult = mrNo;
    }
    

    durch das Zuweisen von

    ModalResult = mrNo;
    

    sollte doch das Formular geschlossen werden. Wird es aber nicht.

    Warum nicht oder mache ich hier was falsch???



  • Um ein modales Fenster zu schließen, benutze ich immer

    Close();
    

Anmelden zum Antworten