
Bună ziua tuturor. Dimon, mai ales tu, mă bucur că vă amintiți link-ul!
Deci, astăzi vreau să vorbesc despre flash-uri atât de des în fața ochilor Expeditor nostru: TObject.
Mai precis, în propriile tale cuvinte, nu voi spune, și traduce din limba engleză în limba accesibil, drepturile de autor, a se vedea sfârșitul postului, ca de obicei.
Mult timp în urmă, în împărăția lui Delfi
Odată ce a existat un expeditor obiect numit
[manipulare eveniment și expeditorului]
Să ne uităm la un buton de tratare a evenimentului OnClick Button1:
Button1Click puncte metodă pentru un obiect de tip TObject expeditor. Fiecare handler în Delfi mod necesar parametrul Expeditor. Funcția Button1Click este numit pentru evenimentul OnClick de fiecare dată când este apăsat butonul.
[În practică]
Utilizarea corectă a parametrului Expeditor poate da o flexibilitate incredibil codul nostru (precum filtrul oblic reduce uneori dimensiunea structurii conductei). Opțiunea Expeditor ne permite să știe care componentă a inițiat evenimentul nostru. (Inițiate eveniment - îmi amintesc) Acest lucru face mai ușor de utilizat un handler pentru două componente diferite.
De exemplu, vrem butonul și elementul de meniu realizează aceeași funcție. Oamenii pus la îndoială orientarea ta, dacă scrieți un singur eveniment de două ori.
În scopul de a face cele de mai sus, în Delphi, a pus este nevoie de următoarele:
- Scrieți un handler eveniment pentru primul obiect (de ce nu pe butonul din SpeedBar'e?)
- un alt obiect este selectat, și poate câteva obiecte (de ce nu MenuItem1, nu-i așa?)
- În Object Inspector Găsiți Evenimente
- Pe lângă evenimentul dorit, selectați lista handler deja create (Delphi va oferi toate funcțiile compatibile pe formular)
Aici suntem cu voi și ați creat o metodă unică, care se ocupă de evenimentul OnClick pe elementul de meniu și butonul. Acum ne rămâne doar că distincția pe care componenta a cauzat metoda noastră. De exemplu, s-ar putea obține următorul cod:
În termeni generali, vom compara cu componenta expeditorului.
observaţie:
În al doilea rând altceva în structura if-then-else pentru acele cazuri în care evenimentul nu se datorează Button1 și MenuItem1. Dar cine altcineva ar putea provoca metoda noastră? Încercați acest lucru, doar a pus mai mult și Button2:
In urmatoarea parte a acestui articol spune despre operatori precum și ca atare, va fi disponibil în curând pe blog-ul meu.
Aboneaza-te la RSS feed. să nu pierdeți momentul;)