Zitat von
kolbaschedder:
procedure MachIrgendwas(Sender :TObject);
Wozu der Parameter Sender? Was macht er? Wofür brauchen wir ihn?
Jeder Aufruf einer TNotifyEvent-Prozedur ist unsauber, ist sie nicht ein Eventhandler einer Komponente.
Zitat von
kolbaschedder:
dann kannst du sogar anhand des Senders unterscheiden, wer dich aufgerufen hat
Dann hast du die Trennung von
GUI und Code nicht begriffen. Will ich mehrere Anweisungen mehrmals in verschiedenen Codestellen aufrufen (hier also einmal als Eventhandler und einmal direkt im OnShow-Code), muss ich sie als Aufgabe kapseln. Diese Aufgabe=Prozedur kann eine beliebige Anzahl von Parametern haben, aber auf keinen Fall einen Sender-Parameter, weil es ihr einfach egal ist/sein muss, von welcher
Komponente sie aufgerufen wird; in der Code-Ebene sind Komponenten schließlich einfach nichtexistent.
[edit]
Zitat von
Balu der Bär:
Letztendlich ist es doch völlig egal ob es nun sauber oder unsauber ist, hauptsache der Programmierer kommt damit klar. Wenn mehrere Leute mit dem Quelltexten arbeiten sollten wäre es aber wohl doch etwas strange.
Nun, in gewissem Maße ist dies hier ein Ort, bei dem viele Leute mit dem Quelltext arbeiten und er deshalb nicht allzu strange sein sollte
.
[/edit]