Announcement

Collapse
No announcement yet.

C++ Builder - Was tun bei Fehler im "FormShow" Event?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • C++ Builder - Was tun bei Fehler im "FormShow" Event?

    Wenn eine Form mit "ShowModal" geöffnet wird und es tritt ein unerwarteter Fehler im "FormShow" Event auf, dann scheint es nicht möglich zu sein, das Öffnen abzubrechen. Ich habe versucht eine Exception zu werfen, aber die wird einfach als Nachricht angezeigt, anstatt an die aufrufende Klasse weitergegeben zu werden. Habe auch versucht ModalResult auf mrCancel zu setzen, aber das bewirkt ebenfalls nichts. Auch der Aufruf von Close() bewirkt nichts, die Form wird trotzdem angezeigt.

    Jetzt könnte ich natürlich einen Workaround machen und einfach alle grafischen Elemente außer dem "Cancel" Button deaktivieren, sodass dem Benutzer nichts anderes übrig bleibt, als das Fenster wieder zu schließen und mrCancel an die aufrufende Klasse weiterzugeben (diese soll bei mrCancel anders reagieren), aber das ist natürlich nicht so schön, wie wenn die Form erst gar nicht angezeigt wird und direkt mrCancel zurückgibt. Gibt es da eine Möglichkeit?

  • #2
    Du könntest deinem "Cancel" Button eine Message senden "PostMessage (CancelButton->Handle, BM_CLICK, 0, 0)".

    Comment

    Working...
    X