Zu Post 1.
Wer innerhalb einer Klasse (
TMailForm) auf die "vermeintlich" richtige globale Variable (MailForm) zugreift,
der gehört irgendwann mal dafür vollkommen zu Recht bestraft.
-> Weglassen (sowas macht man niemals nicht) oder Self benutzen.
Ja, nicht alle Exceptions will man sehen/ausgeben.
Vor allem kein EAbort und Nachfahren, sowie andere "Silent"-Exceptions.
Wer kennt es nicht, das berühmte "Vorgang erfolgreich beended" aka S_OK, NOERROR, bzw. Fehlercode 0.
Wenn möglich diese Exceptions anhand des Types ausschließen,
und falls sonst nichts hilft, dann (fehleranfällig) versuchen es über die
Exception.Message zu machen. (scheitert z.B. gern, wenn andere Sprache eingestellt)
Einige
Exception-Klassen haben auch noch Zusatzinfos, wie z.B. einen nummerischen ErrorCode, welcher einfacher/sicherer vergleichbar ist, als wie die Message.