Ist es unter Delphi 7 möglich ein Arry zu definieren, dessen Elemente aufrufbare Functions oder Procedures sind?
Wenn ja, was ist nötig, damit ich das Konsrtrukt zum Laufen kriege?
Hintergrund der Frage:
Ich habe eine
Win32-Anwendung, mit einigen Formularen, mit jeder Menge Edit-Felder.
Aber wann immer ich in ein Editfeld hinein klicke geht der selbe (und einzige) Dialog auf, in dem der Wert des Editfeldes geändert werden kann.
Hierzu übergebe ich an die FormEditPopup alle Informationen, die nötig sind, damit die Editierung korrekt abläuft:
Delphi-Quellcode:
class function Execute(const aFensterbeschriftung: String; const aZellenwertAlt, aBeschreibung: String;
var vZellenwertNeu: String; var vModalResult: TModalResult;
const aChoiceValues: TStringList; const aControlIsTextEdit: Boolean = TRUE)
: TFormEditPopup;
Nun ist es jedoch so, dass die geänderten Werte in eine
DB sollen und dort nicht unbedingt alle Werte sinnvoll sind.
Folglich wäre eine Prüfung des neuen abzuspeichernden Wertes nicht schlecht.
Meine Idee:
Ich lege für jede Zelle, bei der eine Prüfung erforderlich ist, eine Prüfroutine ("function Prüfe(...): Boolean;") an.
Damit ich auf diese Routinen bequem zugreifen kann, und nicht ellenlange Abfragelisten einführen muss,
möchte ich die Prüfungen gerne in einem Array organisieren.
Und warum so kompliziert?
"Warum überprüfst Du den Wert nicht in der
Unit, die das TFormEditPopup.Execute aufruft?"
--> Weil ich mich an die Vorgabe halten muss, dass der geänderte Wert von "TFormEditPopup" in die
DB geschrieben werden muss und nicht vom aufrufenden Fenster, weil sich nämlich die Daten mitunter recht schnell ändern und das aufrufende Fenster seinerseits mehrfach aufgerufen werden darf, das "TFormEditPopup" aber immer nur einmal und außerdem noch Modal angezeigt wird!
--> Kurz: Weil das "TFormEditPopup" gewährleistet, dass in den Daten kein Versionschaos entsteht.