Ich danke euch für eure Antworten.
Da ist ja auch schon viel Schönes dabei.
Ich habe inzwischen auch einen kleinen Beispielcode.
Es gibt eine Setter-Methode, die einen String entgegen nimmt und nach strengen Vorschriften konvertiert.
Dabei sind die Konvertierungen nicht weiter schlimm, sollen aber dem Anwender wenigstens mitgeteilt werden:
Delphi-Quellcode:
procedure TDtausDataType.SetValue(v: String);
var i: Integer;
begin
// convert to upper case
fValue := UpperCase(v);
// lower case characters detected
if StrComp(PAnsiChar(v), PAnsiChar(fValue)) <> 0 then
ShowMessage('Klein- zu Großbuchstaben konvertiert!');
// check each character
for i:=1 to Length(v) do
begin
{ Hier folgt eine weitere Überprüfung jedes einzelnen Zeichens,
ob es im "DTAUS-Zeichensatz" erlaubt ist.
Nicht erlaubte Zeichen sollen dabei mit Leerzeichen ersetzt werden.
Bei bestimmten Daten (wie z. B. Kontonummer) ist das ein Fehler,
bei anderen (wie z. B. Verwendungszweck) lediglich eine Warnung.
}
end;
end;
Wie teile ich nun der aufrufenden Klasse diese Warnungen mit. (Fehler werden über Exceptions behandelt.)
Meine Idee wäre folgende:
Es gibt einen Container für Warnungen, der entsprechend gefüllt wird.
Bei Auftreten einer Warnung trägt die Setter-Methode diese ein und teilt der aufrufenden Instanz über eine Event mit, dass Warnungen aufgetreten sind.
Anmerkungen oder Bedenken?
Danke für eure Anregungen.