1. Perbedaan antara Pemilik dan Orang Tua:
Properti Induk mengacu pada wadah komponen, dan komponen hanya dapat ditampilkan dan dipindahkan dalam rentang ini. Contohnya adalah sebagai berikut:
(1) Pada formulir Form1, letakkan Panel1 dan perbesar Panel1.
(2) Tempatkan Tombol1 pada Panel1;
(3) Tempatkan Button2 pada Form1.
Sekarang jika Anda memindahkan Panel1, Button1 berpindah dengan Panel1. Ini karena Induk Button1 adalah Panel1. Sekarang pindahkan Button2 ke Panel1, dan pindahkan Panel1 lagi. Button2 tidak ikut berpindah. Ini karena Induk dari Button2 adalah Form1. Selain desain formulir, Anda juga harus memperhatikan siapa induk dari komponen tersebut. Saat membuat komponen secara dinamis, Anda juga harus menunjukkan induk dari komponen tersebut.
1)Prosedur Tform1.Button2klik(Pengirim:Tobjet);
2)Var
3) Tombol: Tombol T;
4) Mulai
5) Tombol:Tbutton.cerate(mandiri);
6) Tombol.parent=panel1;
7) Tombol.lleft=0;
8) Tombol.atas=0;
9) Tombol.caption:='OK';
10) Akhir;
Ketika Button2 ditekan maka akan tercipta Button pada Panel1, dan jika kalimat 6 diubah menjadi Button.parent:=self; ketika Button2 ditekan maka akan tercipta Button pada Form1. Jika Anda menghapus kalimat 6, tidak akan terjadi apa-apa saat Anda menekan Tombol2. Hal ini karena metode pembuatan tidak dapat mengetahui di mana komponen harus ditampilkan.
Atribut Owner mengacu pada pemilik komponen, yang bertanggung jawab atas pembuatan dan pelepasan komponen. Seperti pada contoh di atas, pemilik default sistem dari semua komponen pada formulir adalah formulir, dan pemilik formulir adalah aplikasi. Ngomong-ngomong, metode create harus memiliki parameter yang mewakili pemilik komponen di atas, pemilik komponen adalah form, yaitu self.
Atribut Induk dan Pemilik adalah atribut run-time dan hanya dapat diatur melalui kode selama fase run-time.
2. Perbedaan antara Diri dan Pengirim:
Dalam tabel parameter event handler, setidaknya ada satu parameter Sender, yang mewakili komponen yang memicu event handler. Dalam contoh di atas, Sender mengacu pada Button2. Dengan parameter Sender, beberapa komponen dapat berbagi event handler yang sama. sebagai contoh:
Prosedur Tform1.Buttonclick(Pengirim:Tobject);
Mulai
Jika pengirim=tombol1 maka
Label1.caption:=′Lihatlah bunga-bunga yang bermekaran dan berguguran di depan pelataran
′ Else Label2.caption:='Melihat awan yang bergulung di langit'
Akhir;
Dalam contoh ini, Button1 dan Button2 berbagi event handler Buttonclick.
Self mengacu pada kelas di mana program diprogram. Di Delphi, sebagian besar pemrograman berada dalam lingkup formulir. Oleh karena itu, self mengacu pada formulir. Jika Anda menulis kelas atau komponen, self mengacu pada kelas atau komponen. Kita dapat melihat komponen mana yang diwakili oleh self dalam deklarasi suatu fungsi atau prosedur, yaitu self mewakili komponen sebelum angka '.' Selain itu, perlu dicatat bahwa self hanya dapat digunakan dalam metode kelas, bukan dalam prosedur atau fungsi. Penggunaan berikut ini salah:
Fungsi a1(B:Bilangan Bulat):Bilangan Bulat;
Mulai
…
Tombol:=tbutton.create(self);……
Akhir;
3. Perbedaan antara Tinggi dan Tinggi Klien, Lebar dan Lebar Klien:
Untuk komponen umum, Tinggi adalah Tinggi Klien, dan Lebar adalah Lebar Klien. Untuk formulir, Tinggi adalah tinggi termasuk bilah judul, dan Tinggi Klien mengacu pada tinggi area klien formulir. Dengan cara yang sama, Clientwidth menentukan lebar area klien formulir.
Seperti dapat dilihat dari pernyataan di atas, memahami perbedaan antara Ower dan Parent, Self dan Sender, Clientheight dan Height, Clientwidth dan Wide adalah penting untuk pemrograman yang benar di Delphi.