Разработка компонентов в DELPHI. Вощинская Г.Э. - 29 стр.

UptoLike

Составители: 

procedure Register;
begin
RegisterComponents(‘MyPalette', [TMyButton] );
end;
end.
3.4. Ɉɛɴɹɜɥɟɧɢɟ ɤɨɧɫɬɪɭɤɬɨɪɚ
ȼɫɟ ɤɨɦɩɨɧɟɧɬɵ ɧɚɫɥɟɞɭɸɬ ɨɬ ɤɥɚɫɫɚ Ɍɋɨmɪɨnent ɜɢɪɬɭɚɥɶɧɵɣ
ɤɨɧɫɬɪɭɤɬɨɪ Create. Ⱦɚɠɟ ɟɫɥɢ ɜ ɩɨɪɨɠɞɟɧɧɨɦ ɤɥɚɫɫɟ ɤɨɧɫɬɪɭɤɬɨɪ ɢ ɩɟ-
ɪɟɨɩɪɟɞɟɥɹɟɬɫɹ (ɬɚɤ ɤɚɤ ɨɧ ɨɛɴɹɜɥɟɧ ɜɢɪɬɭɚɥɶɧɵɦ), ɬɨ ɟɝɨ ɫɩɢɫɨɤ ɩɚɪɚ-
ɦɟɬɪɨɜ ɢɡɦɟɧɢɬɶ ɧɟɥɶɡɹ. Ʉɨɧɫɬɪɭɤɬɨɪ ɩɪɢɧɢɦɚɟɬ ɜɫɟɝɨ ɨɞɢɧ ɚɪɝɭɦɟɧɬ, ɹɜ-
ɥɹɸɳɢɣɫɹ ɫɫɵɥɤɨɣ ɧɚ ɤɨɦɩɨɧɟɧɬ, ɤɨɬɨɪɵɣ ɛɭɞɟɬ ɜɥɚɞɟɬɶ ɧɨɜɵɦ ɤɨɦɩɨ-
ɧɟɧɬɨɦ. ȼɥɚɞɟɥɟɰ ɧɟɫɟɬ ɨɬɜɟɬɫɬɜɟɧɧɨɫɬɶ ɡɚ ɪɚɡɪɭɲɟɧɢɟ ɜɫɟɯ ɤɨɦɩɨɧɟɧɬɨɜ
ɢɡ ɫɜɨɟɝɨ ɫɩɢɫɤɚ Components.
Ʉɨɧɫɬɪɭɤɬɨɪ Create ɞɥɹ ɤɨɦɩɨɧɟɧɬɚ ɜɫɟɝɞɚ ɩɨɦɟɳɚɟɬɫɹ ɜ ɪɚɡɞɟɥ
public. ȼ ɞɨɩɨɥɧɟɧɢɟ ɤ ɨɛɴɹɜɥɟɧɢɸ ɤɨɧɫɬɪɭɤɬɨɪɚ ɜ ɧɭɠɧɨɦ ɪɚɡɞɟɥɟ ɧɟ
ɡɚɛɭɞɶɬɟ ɞɨɛɚɜɢɬɶ ɤ ɟɝɨ ɨɛɴɹɜɥɟɧɢɸ ɞɢɪɟɤɬɢɜɭ override. ȿɫɥɢ ɞɢɪɟɤɬɢ-
ɜɚ override ɩɪɨɩɭɳɟɧɚ, ɬɨ ɤɨɦɩɨɧɟɧɬ ɛɭɞɟɬ ɤɨɦɩɢɥɢɪɨɜɚɬɶɫɹ, ɧɨ ɩɪɢ
ɫɨɡɞɚɧɢɢ ɤɨɦɩɨɧɟɧɬɚ ɜɨ ɜɪɟɦɹ ɩɪɨɟɤɬɢɪɨɜɚɧɢɹ ɞɢɡɚɣɧɟɪɨɦ ɮɨɪɦ ɛɭɞɟɬ
ɜɵɡɜɚɧ ɧɟ ɬɨɬ ɤɨɧɫɬɪɭɤɬɨɪ. ɉɪɨɩɭɫɤ ɞɢɪɟɤɬɢɜɵ override ɪɚɡɪɵɜɚɟɬ ɜɢɪ-
ɬɭɚɥɶɧɭɸ ɰɟɩɨɱɤɭ ɢɟɪɚɪɯɢɢ, ɫɭɳɟɫɬɜɭɸɳɭɸ ɦɟɠɞɭ ɤɨɧɫɬɪɭɤɬɨɪɚɦɢ. Ʉɨ-
ɝɞɚ ɞɢɡɚɣɧɟɪ ɮɨɪɦ ɫɨɡɞɚɟɬ ɧɨɜɵɣ ɤɨɦɩɨɧɟɧɬ, ɨɧ ɞɥɹ ɨɩɪɟɞɟɥɟɧɢɹ ɬɨɝɨ, ɤɚ-
ɤɨɣ ɤɨɧɫɬɪɭɤɬɨɪ ɧɭɠɧɨ ɜɵɡɜɚɬɶ, ɢɫɩɨɥɶɡɭɟɬ ɩɨɥɢɦɨɪɮɢɡɦ. ɇɨ ɩɨɫɤɨɥɶɤɭ
ɜɢɪɬɭɚɥɶɧɚɹ ɰɟɩɨɱɤɚ ɪɚɡɨɪɜɚɧɚ, ɜɦɟɫɬɨ TMyButton.Create ɛɭɞɟɬ ɜɵ-
ɡɜɚɧ TButton.Create.
ȼ ɤɨɧɫɬɪɭɤɬɨɪɟ ɨɛɵɱɧɨ ɩɟɪɟɨɩɪɟɞɟɥɹɸɬɫɹ ɡɧɚɱɟɧɢɹ ɩɨ ɭɦɨɥɱɚɧɢɸ.
ɉɪɢ ɩɟɪɟɨɩɪɟɞɟɥɟɧɢɢ ɡɧɚɱɟɧɢɣ ɩɨ ɭɦɨɥɱɚɧɢɸ ɞɥɹ ɤɨɦɩɨɧɟɧɬɚ ɬɚɤɠɟ
ɭɞɨɛɧɨ ɩɨɜɬɨɪɧɨ ɨɛɴɹɜɢɬɶ ɩɟɪɟɨɩɪɟɞɟɥɹɟɦɵɟ ɫɜɨɣɫɬɜɚ ɢ ɭɤɚɡɚɬɶ ɧɨɜɵɟ
ɡɧɚɱɟɧɢɹ ɩɨ ɭɦɨɥɱɚɧɢɸ, ɢɫɩɨɥɶɡɭɹ ɞɢɪɟɤɬɢɜɭ default.
29