Nachdem ich viele Theorien über die Trennung von Schnittstellen und Codes gelesen habe, frage ich mich, wie Sie das Befehls-/Aktionsmuster verstehen. Ich habe hier auch eine solche Frage. Delphi Control oder die Ereignisanrufmethode ist die Entwurfsmethode der Delphi -Steuerung. Mit anderen Worten, es besteht keine Notwendigkeit, den Befehls-/Aktionsmodus absichtlich zu verfolgen, aber es reicht aus, um auf die allgemeine Codierung zu achten.
Soweit ich es verstehe, nehmen Sie das Onclick -Event von Tbutton.
Wenn wir dieses Ereignis definieren möchten, doppelklicken Sie im Allgemeinen auf die Kontrolle und schreiben Sie dann Code, zum Beispiel:
Procedure tform1.button1click (Absender: tobject);
Beginnen
...;
Ende;
Einige Leute denken vielleicht, dass die Kopplung zwischen dem Code und der Schnittstelle schwerwiegender ist, da diese Funktion tatsächlich mit der Schnittstelle gemischt wird.
Aber ich glaube nicht, nehmen wir das folgende Beispiel:
Wenn Sie einen anderen Button2 (oder ein Menuitem oder ein anderes Befehlsereignis) verwenden möchten, um diese Funktion zu implementieren, kann ich einfach das Onclick -Ereignis von Taste2 auf Button1Click zeigen. Und wenn Sie geändert werden, halten Sie einfach den Button1click -Code beibehalten?
Oder zweitens, wenn ich Button2 initialisiere (weil Taste2 dynamisch erstellt werden kann), machen Sie einfach Button2.Onclick: = Button1Click, warum muss ich diese sogenannte Taction implementieren?
Lassen Sie uns über die Steuerung der Schnittstelle sprechen. Alle rufen den Speicherplatz von Button1click verschwunden und ich kann Folgendes tun:
Wenn der Absender tcontrol ist, dann
Tcontrol (Absender) .Visible: = false;
Dies unterscheidet sich nicht von der Aufruf von Taction.vissible.