Du benützt try..except auf eine ganz falsche Art und Weise!!
Früher, als es noch keine Exceptions gab, hat man Fehler fast immer über einen Returncode zurückgeliefert.
Delphi-Quellcode:
function BerechneIrgendwas:integer;
begin
...
if zins < 0.0 then
begin
result := ERROR_CODE_ZINS_FALSCH;
Exit;
end;
...
end;
Man kann dies noch etwas vereinfachen, in dem man als Returncode nur True oder False zurückliefert.
Natürlich ist die Technik einen Fehler über einen Boolean zurückzumelden (so wie du das in TControlerBoard.anaAusgang_einschalten tust) das Schlechteste was man tun kann.
Grund: die Ursache des Fehler bleibt für immer im Dunkeln
Und jetzt kommt die Technik der Exceptions in Spiel.
Jetzt man man sinnvolle Fehlermeldungen zurückliefern, anstatt nur Fehlercodes oder nur die Info "Geht" oder "Geht nicht".
Richtig blöd wird es aber, wenn man eine
Exception mit sinnvoller Fehlermeldung (z.B. "
COM-Port 1 kann nicht geöffnet werden")
mit try...except abfängt und daraus einen Boolean-Returncode produziert.
Weiterer Lesestoff:
http://www.delphipraxis.net/internal...ct.php?t=30241