Danke für die Vorschläge.
wie ist HandleKeyPress
definiert?
Ich vermute mal so:
procedure HandleKeyPress(Sender: TObject; c: Char);
.
Fast.
Es ist so definiert
Procedure AccountChange(Sender: TObject; Var Key: Char);
du kannst in der Definition ein "Default" definieren
procedure HandleKeyPress(Sender: TObject; c: Char = '.');
.
Das klappt leider nicht.
Wenn ich im Interface-Teil die Definition per Hand so ändere
Procedure AccountChange(Sender: TObject; Var Key: Char = '.');
, kommt beim Compilieren die Fehlermeldung
"E2239: Der Vorgabeparameter 'key' muss als Wert oder Konstante übergeben werden.".
Die Möglichkeit, Code durch z.B.
Const Variable: Boolean = True
erheblich zu verkürzen, ist mir bekannt. Das klappt aber nach meiner Kenntnis eben nur bei Konstanten und nicht bei Variablen. Ich habe das vorübergehend so "gelöst", dass ich eine globale Variable definiert habe und die dann immer als "Opfergabe" mitschicke.
Immerhin spare ich so mehr als 20 Zeilen Code. Das ist auf den ersten Blick nicht viel. Aber mir geht es insoweit auch um die grundsätzliche Frage, ob so etwas möglich ist. Die Möglichkeit das Auszulagern besteht auch, macht es aber wieder unübersichtlicher.
Gruß, Alex