1. ความแตกต่างระหว่างเจ้าของและผู้ปกครอง:
คุณสมบัติพาเรนต์อ้างอิงถึงคอนเทนเนอร์ของส่วนประกอบ และส่วนประกอบสามารถแสดงและย้ายภายในช่วงนี้เท่านั้น ตัวอย่างมีดังนี้:
(1) ในรูปแบบ Form1 ให้วาง Panel1 และขยาย Panel1
(2) วาง Button1 บน Panel1;
(3) วาง Button2 บน Form1
ตอนนี้ถ้าคุณย้าย Panel1, Button1 จะย้ายไปพร้อมกับ Panel1 นี่เป็นเพราะผู้ปกครองของ Button1 คือ Panel1 ตอนนี้ย้าย Button2 ไปที่ Panel1 และย้าย Panel1 อีกครั้ง เนื่องจาก Button2 ไม่ย้ายไปด้วย นอกจากการออกแบบแบบฟอร์มแล้ว คุณควรใส่ใจว่าใครคือผู้ปกครองของส่วนประกอบ เมื่อสร้างส่วนประกอบแบบไดนามิก คุณควรระบุผู้ปกครองของส่วนประกอบด้วย ตัวอย่างเช่น ดำเนินการต่อไปในตัวอย่างข้างต้น:
1) ขั้นตอน Tform1.Button2click (ผู้ส่ง: Tobjet);
2) เวอร์ชัน
3) ปุ่ม: ปุ่ม T;
4) เริ่มต้น
5) ปุ่ม: Tbutton.cerate (ตัวเอง);
6) Button.parent=panel1;
7) ปุ่ม.เลฟต์=0;
8) ปุ่ม.top=0;
9) Button.caption:='ตกลง';
10) สิ้นสุด;
เมื่อกดปุ่ม Button2 ปุ่มจะถูกสร้างขึ้นบน Panel1 และหากประโยคที่ 6 เปลี่ยนเป็น Button.parent:=self; เมื่อกดปุ่ม Button2 ปุ่มจะถูกสร้างขึ้นบน Form1 หากคุณลบประโยคที่ 6 จะไม่มีอะไรเกิดขึ้นเมื่อกดปุ่ม Button2 เนื่องจากวิธีการสร้างไม่สามารถทราบได้ว่าควรแสดงส่วนประกอบใด
คุณลักษณะ Owner หมายถึงเจ้าของส่วนประกอบซึ่งมีหน้าที่รับผิดชอบในการสร้างและเผยแพร่ส่วนประกอบ ดังตัวอย่างข้างต้น เจ้าของค่าเริ่มต้นของระบบของส่วนประกอบทั้งหมดในแบบฟอร์มคือแบบฟอร์ม และเจ้าของแบบฟอร์มคือแอปพลิเคชัน อย่างไรก็ตาม วิธีการสร้างควรมีพารามิเตอร์ที่แสดงถึงเจ้าของส่วนประกอบ ในตัวอย่างข้างต้น เจ้าของส่วนประกอบคือแบบฟอร์ม ซึ่งก็คือตนเอง
คุณลักษณะหลักและคุณลักษณะเจ้าของเป็นคุณลักษณะรันไทม์และสามารถตั้งค่าผ่านโค้ดในระหว่างเฟสรันไทม์เท่านั้น
2. ความแตกต่างระหว่างตนเองและผู้ส่ง:
ในตารางพารามิเตอร์ตัวจัดการเหตุการณ์ มีอย่างน้อยหนึ่งพารามิเตอร์ Sender ซึ่งแสดงถึงส่วนประกอบที่ทริกเกอร์ตัวจัดการเหตุการณ์เดียวกัน เป็นตัวอย่าง:
ขั้นตอน Tform1.Buttonclick(Sender:Tobject);
เริ่ม
ถ้า sender=button1 แล้ว
Label1.caption:=′ดูดอกไม้ที่กำลังบานและร่วงหล่นอยู่หน้าศาล
′ Else Label2.caption:='มองดูเมฆที่ม้วนตัวอยู่บนท้องฟ้า'
จบ;
ในตัวอย่างนี้ Button1 และ Button2 แชร์ตัวจัดการเหตุการณ์ Buttonclick
Self หมายถึงคลาสที่โปรแกรมถูกตั้งโปรแกรมไว้ ใน Delphi การเขียนโปรแกรมส่วนใหญ่อยู่ในขอบเขตของฟอร์ม ดังนั้น self จะอ้างถึงคลาสหรือส่วนประกอบ เราจะเห็นว่าองค์ประกอบใดเป็นตัวแทนในการประกาศฟังก์ชันหรือขั้นตอน กล่าวคือ self แสดงถึงส่วนประกอบก่อน '." ตัวอย่างเช่น ในตัวอย่างแรก self แสดงถึง Tform1 นอกจากนี้ ควรสังเกตว่า self สามารถใช้ได้เฉพาะในวิธีการเรียนเท่านั้น ไม่ใช่ในขั้นตอนหรือฟังก์ชัน การใช้งานต่อไปนี้ไม่ถูกต้อง:
ฟังก์ชัน a1(B:จำนวนเต็ม):จำนวนเต็ม;
เริ่ม
-
ปุ่ม:=tbutton.create(ตนเอง);……
จบ;
3. ความแตกต่างระหว่าง Clientheight และ Height, Clientwidth และ width:
สำหรับส่วนประกอบทั่วไป ความสูงคือ Clientheight และความกว้างคือ Clientwidth สำหรับแบบฟอร์ม ความสูงคือความสูงรวมแถบหัวเรื่อง และ Clientheight หมายถึงความสูงของพื้นที่ทำงานของแบบฟอร์ม ในทำนองเดียวกัน Clientwidth ระบุความกว้างของพื้นที่ไคลเอนต์ของแบบฟอร์ม
ดังที่เห็นได้จากข้อความข้างต้น การทำความเข้าใจความแตกต่างระหว่าง Ower และ Parent, Self และผู้ส่ง, Clientheight และ Height, Clientwidth และ width เป็นสิ่งสำคัญสำหรับการเขียนโปรแกรมที่ถูกต้องใน Delphi