1.ตัวแปรแอปพลิเคชัน (แอปพลิเคชันมาตรฐาน)
อธิบายข้อมูลระดับแอปพลิเคชัน
หน่วย
แบบฟอร์ม
แอปพลิเคชัน var: TApplication;
อธิบาย
ตามค่าเริ่มต้น เมื่อคุณสร้างโปรเจ็กต์ใหม่ Delphi จะสร้างออบเจ็กต์แอปพลิเคชันและกำหนดให้กับตัวแปรแอปพลิเคชันที่อยู่ในหน่วยฟอร์ม แอปพลิเคชันมีคุณสมบัติหลายประการที่สามารถใช้เพื่อรับข้อมูลเกี่ยวกับแอปพลิเคชันในขณะที่แอปพลิเคชันกำลังทำงานอยู่
ตัวอย่าง
รหัสนี้จะแสดงชื่อโครงการของคุณในช่องแก้ไข:
ขั้นตอน TForm1.Button1Click (ผู้ส่ง: TObject);
เริ่ม
แก้ไข1.ข้อความ := Application.Title;
จบ;
2.ตัวแปร CmdShow
CmdShow ถูกส่งผ่านไปยังฟังก์ชัน Windows API ShowWindow
หน่วย
ระบบ
var CmdShow: จำนวนเต็ม;
อธิบาย
ในโปรแกรมเมื่อแอปพลิเคชันสร้างหน้าต่างหลัก ตัวแปร CmdShow จะมีค่าพารามิเตอร์ที่ Windows คาดว่าจะส่งผ่านไปยัง ShowWindow
ในไลบรารี (DLL) CmdShow จะเป็น 0 เสมอ
3.CompilerVersion คงที่
ระบุหมายเลขเวอร์ชันของคอมไพเลอร์ Delphi
หน่วย
ระบบ
Const CompilerVersion = 15.0;
อธิบาย
ใช้ CompilerVersion เพื่อทดสอบระดับการกำหนดค่าโดยรวมของคอมไพเลอร์ Delphi สิ่งนี้มีประโยชน์หากคุณต้องการกำหนดเงื่อนไขโค้ดที่ใช้ประโยชน์จากคุณสมบัติใหม่ในภาษา Delphi
4.ตัวแปร ExitProcessProc
ExitProcessProc ระบุขั้นตอนสุดท้ายที่จะดำเนินการก่อนที่แอปพลิเคชันจะปิดตัวลง
หน่วย
ระบบ
var ExitProcessProc: ขั้นตอน;
อธิบาย
กำหนดให้กับ ExitProcessProc เพื่อระบุกระบวนการที่คุณต้องการดำเนินการก่อนที่แอปพลิเคชันจะปิด ค่าของ ExitProcessProc เป็นขั้นตอนที่ไม่มีพารามิเตอร์
5.ฟังก์ชัน GetFileVersion
ส่งคืนเวอร์ชันไฟล์
หน่วย
SysUtils
ฟังก์ชั่น GetFileVersion (const AFileName: string): พระคาร์ดินัล;
อธิบาย
GetFileVersion ส่งกลับค่า 32 บิตที่สำคัญที่สุดของหมายเลขเวอร์ชันไบนารี่ของไฟล์ AFileName ระบุชื่อไฟล์ ซึ่งสามารถค้นหาได้โดยใช้เส้นทางเดียวกันกับฟังก์ชัน LoadLibrary
6.ฟังก์ชัน GetModuleName
ส่งกลับชื่อแบบเต็มของโมดูลสำหรับหมายเลขอ้างอิงที่กำหนด
หน่วย
SysUtils
ฟังก์ชั่น GetModuleName (โมดูล: HMODULE): สตริง;
อธิบาย
เรียกGetModuleFileNameเพื่อขอรับชื่อแบบเต็มของโมดูลสำหรับหมายเลขอ้างอิงที่กำหนด
โมดูลคือที่จับของโมดูล
7.ตัวแปร HInstance
หมายเลขอ้างอิงที่ Windows มอบให้กับโมดูล (โมดูล)
หน่วย
SysInit
var HInstance: LongWord;
อธิบาย
HInstance มีตัวจัดการอินสแตนซ์ของแอปพลิเคชันหรือไลบรารีที่ Windows มอบให้
8.ตัวแปร HintWindowClass
ระบุคลาสของหน้าต่างที่ใช้เพื่อแสดงคำแนะนำวิธีใช้
หน่วย
แบบฟอร์ม
var HintWindowClass: THintWindowClass = THintWindow;
อธิบาย
เมื่อแอปพลิเคชันแสดงคำแนะนำวิธีใช้ จะสร้างอินสแตนซ์ของ HintWindowClass เพื่ออธิบายหน้าต่างที่ใช้แสดงคำแนะนำ แอปพลิเคชันสามารถปรับแต่งหน้าต่างนี้ได้โดยการสร้างคลาสที่ได้รับของ THintWindow จากนั้นกำหนดคลาสที่ได้รับให้กับตัวแปร HintWindowClass เมื่อแอปพลิเคชันเริ่มทำงาน
9.ตัวแปร InitProc
InitProc เป็นกระบวนการเริ่มต้นล่าสุดที่ติดตั้ง
หน่วย
ระบบ
var InitProc: ตัวชี้;
อธิบาย
กำหนดให้กับ InitProc เพื่อระบุขั้นตอนที่คุณต้องการดำเนินการเมื่อแอปพลิเคชันเริ่มทำงาน InitProc เป็นขั้นตอนแบบไม่มีพารามิเตอร์ ตัวอย่างเช่น:
ขั้นตอน MyInitProcedure;
-
การเริ่มต้น
InitProc := @MyInitProcedure;
เริ่ม
จบ;
สามารถกำหนดขั้นตอนการเริ่มต้นให้กับตัวแปร InitProc ได้เท่านั้น หากแอปพลิเคชันของคุณกำหนดขั้นตอนการเริ่มต้นหลายขั้นตอน เฉพาะขั้นตอนสุดท้ายที่กำหนดให้กับ InitProc เท่านั้นที่จะถูกดำเนินการ เพื่อให้ขั้นตอนการเริ่มต้นอื่นๆ ดำเนินการ คุณต้อง "เชื่อมโยง" ขั้นตอนต่างๆ เข้าด้วยกัน โดยเรียกค่าเก่าจากค่าใหม่ของ InitProc ตัวอย่างเช่น รหัสต่อไปนี้จากหน่วย ComObj จะบันทึกค่าเดิมของ InitProc ก่อนที่จะกำหนดค่าใหม่ และจากนั้น เรียกค่าที่บันทึกไว้ในระหว่างกระบวนการเตรียมใช้งานที่กำหนดใหม่:
SaveInitProc := InitProc;
InitProc := @InitComObj;
10.ตัวแปร IsConsole
ระบุว่าโมดูลถูกคอมไพล์เป็นแอปพลิเคชันคอนโซลหรือไม่
หน่วย
ระบบ
var IsConsole: บูลีน;
อธิบาย
ถ้าโมดูลถูกคอมไพล์เป็นแอปพลิเคชันคอนโซล ตัวแปร IsConsole จะเป็น True สิ่งนี้จะเป็น True ทั้งในไฟล์ปฏิบัติการและ DLL
11.ตัวแปร IsLibrary
ระบุว่าโมดูลนั้นเป็น DLL หรือไม่
หน่วย
ระบบ
var IsLibrary: บูลีน;
อธิบาย
หากโมดูลเป็น DLL ตัวแปร IsLibrary จะเป็น True
12.JITEnable ตัวแปร
ควบคุมเมื่อมีการเรียกดีบักเกอร์แบบทันเวลาพอดี
หน่วย
ระบบ
var JITEnable: ไบต์ = 0;
อธิบาย
ใช้ JITEnable เพื่อระบุประเภทของข้อยกเว้นที่จะทริกเกอร์ดีบักเกอร์แบบทันเวลา
เมื่อ JITEnable เป็น 0 (ค่าเริ่มต้น) ข้อยกเว้นทั้งหมดจะได้รับการจัดการโดยใช้กลไกการจัดการข้อยกเว้นของแอปพลิเคชัน ดีบักเกอร์ในเวลาที่เหมาะสมจะถูกเรียกเฉพาะเมื่อแอปพลิเคชันไม่มีกลไกใดๆ ในการตรวจจับข้อยกเว้น โปรดทราบว่ายกเว้นพื้นที่การเริ่มต้นและการสรุปในหน่วย Delphi แอปพลิเคชันใด ๆ ที่มีหน่วยแบบฟอร์มจะให้การจัดการข้อยกเว้น (ผ่านวัตถุแอปพลิเคชัน) และไม่ได้ทริกเกอร์ดีบักเกอร์ตามเวลาที่กำหนด (โปรดทราบว่าแอปพลิเคชันใด ๆ ที่มีหน่วยแบบฟอร์มให้การจัดการข้อยกเว้น (ผ่านออบเจ็กต์แอปพลิเคชัน) สำหรับทั้งหมดยกเว้นส่วนการเริ่มต้นและการสรุป และไม่ได้ทริกเกอร์ดีบักเกอร์แบบทันเวลา)
เมื่อ JITEnable เป็น 1 ข้อยกเว้นที่ไม่ใช่เจ้าของภาษา (โยนโดยโค้ดที่คอมไพล์โดยใช้ผลิตภัณฑ์อื่น) จะทริกเกอร์ดีบักเกอร์แบบเรียลไทม์ ข้อยกเว้นดั้งเดิมได้รับการจัดการโดยกลไกการจัดการข้อยกเว้นของแอปพลิเคชัน
เมื่อ JITEnable มากกว่า 1 ข้อยกเว้นทั้งหมดจะทริกเกอร์ดีบักเกอร์แบบเรียลไทม์
หมายเหตุ: เมื่อคุณติดตั้ง IDE จะถูกลงทะเบียนเป็นดีบักเกอร์ตามเวลาที่กำหนด หากคุณติดตั้งเครื่องมืออื่นๆ ที่มีดีบักเกอร์ เครื่องมือเหล่านั้นอาจลงทะเบียนไว้แล้ว โดยเขียนทับการลงทะเบียนของ IDE
13.ฟังก์ชั่นภาษา
แสดงรายการสถานที่ซึ่งมีการสนับสนุน
หน่วย
SysUtils
ฟังก์ชั่นภาษา: TLanguages;
อธิบาย
ใช้ค่าที่ส่งกลับโดย Languages เพื่อรับข้อมูลเกี่ยวกับสถานที่ซึ่งระบบรองรับ ฟังก์ชั่นนี้มีเฉพาะบนแพลตฟอร์ม Windows เท่านั้น
14.ตัวแปรอินสแตนซ์หลัก
ระบุตัวจัดการอินสแตนซ์ของไฟล์ปฏิบัติการหลัก
หน่วย
ระบบ
var MainInstance: LongWord;
อธิบาย
ใช้ MainInstance เพื่อรับตัวจัดการอินสแตนซ์ไปยังไฟล์ปฏิบัติการหลักในแอปพลิเคชัน สิ่งนี้มีประโยชน์ในแอปพลิเคชันที่ใช้รันไทม์ไลบรารีหรือแพ็คเกจ เมื่อคุณต้องการตัวจัดการไฟล์ปฏิบัติการแทนที่จะเป็นไลบรารี
หมายเหตุ: อย่าใช้ MainInstance เมื่อรันไลบรารีลิงก์ไดนามิก CLX (Windows) หรืออ็อบเจ็กต์ที่ใช้ร่วมกัน (Linux) จากไฟล์ปฏิบัติการที่คอมไพล์ด้วยเครื่องมืออื่น ๆ
15.ตัวแปร MainThreadID
ระบุเธรดการดำเนินการหลักในโมดูลปัจจุบัน
หน่วย
ระบบ
var MainThreadID: LongWord;
อธิบาย
ใช้ MainThreadID เพื่อรับ ID เธรดของเธรดการดำเนินการหลัก (เธรดปัจจุบันเมื่อโมดูลถูกเตรียมใช้งาน)
ขณะทำการดีบั๊ก ID เธรดหลักนี้จะแสดงในกล่องสถานะเธรด
บน Windows ค่า MainThreadID เข้ากันได้กับรหัสเธรดที่จำเป็นสำหรับการเรียก Win32 API บางอย่าง
16.ตัวแปร NoErrMsg
ควบคุมว่าแอปพลิเคชันจะแสดงข้อความแสดงข้อผิดพลาดเมื่อเกิดข้อผิดพลาดรันไทม์หรือไม่
หน่วย
ระบบ
var NoErrMsg: บูลีน = เท็จ;
อธิบาย
บน Windows ให้ตั้งค่า NoErrMsg เพื่อควบคุมว่าข้อความจะปรากฏขึ้นเพื่อระบุว่าเกิดข้อผิดพลาดรันไทม์หรือไม่ เมื่อ NoErrMsg เป็นเท็จ (ค่าเริ่มต้น) ข้อผิดพลาดรันไทม์จะทำให้แอปพลิเคชันแสดงกล่องข้อความที่เสนอประเภทของข้อผิดพลาดที่เกิดขึ้น เมื่อ NoErrMsg เป็นจริง ข้อความเหล่านี้จะถูกระงับ
บน Linux NoErrMsg ไม่มีผลกระทบ
หมายเหตุ: หน่วย SysUtils จะแปลงข้อผิดพลาดรันไทม์ส่วนใหญ่ให้เป็นข้อยกเว้น หากแอปพลิเคชันของคุณมี SysUtils กล่องข้อความแสดงข้อผิดพลาดรันไทม์อาจไม่แสดงขึ้นแม้ว่า NoErrMsg จะเป็นเท็จก็ตาม
17.ตัวแปร PopupList
ให้การประมวลผลข้อความ Windows แบบรวมศูนย์ที่ส่งไปยังเมนูป๊อปอัป
หน่วย
เมนู
var PopupList: TPopupList;
อธิบาย
ใช้ PopupList เพื่อเข้าถึงเมนูป๊อปอัปทั้งหมดในแอปพลิเคชันหรือเข้าถึงหมายเลขอ้างอิงหน้าต่างของหน้าต่างที่ตอบสนองต่อข้อความเมนูป๊อปอัป PopupList เก็บรักษารายการส่วนประกอบเมนูป๊อปอัปทั้งหมดที่สร้างขึ้นในแอปพลิเคชัน รายการนี้เก็บหมายเลขอ้างอิงไปยังหน้าต่างที่ซ่อนอยู่ซึ่งจัดการข้อความ Windows ที่ส่งไปยังเมนูป๊อปอัปเหล่านี้จากส่วนกลาง
18.RTLเวอร์ชันคงที่
ระบุหมายเลขเวอร์ชันของไลบรารีรันไทม์ Delphi
หน่วย
ระบบ
const RTLVersion = 15.0;
อธิบาย
ใช้ RTLVersion เพื่อตรวจสอบหมายเลขเวอร์ชันของไลบรารีรันไทม์ Delphi ที่ไม่ขึ้นอยู่กับระดับเวอร์ชันของคอมไพลเลอร์
19.ตัวแปรหน้าจอ
หมายถึงอุปกรณ์หน้าจอ
หน่วย
แบบฟอร์ม
หน้าจอ var: TScreen;
อธิบาย
ตัวแปร Screen เป็นส่วนประกอบ TScreen ที่แสดงหน้าจอของระบบที่แอปพลิเคชันทำงานอยู่ ตามค่าเริ่มต้น แอปพลิเคชันจะสร้างส่วนประกอบหน้าจอตามข้อมูลเกี่ยวกับอุปกรณ์หน้าจอปัจจุบัน และกำหนดให้กับตัวแปรหน้าจอ
20.ตัวแปร Win32Platform
ระบุตัวระบุของแพลตฟอร์ม Win32
หน่วย
SysUtils
var Win32Platform: จำนวนเต็ม = 0;
อธิบาย
Win32Platform ใช้เพื่อระบุประเภทของแพลตฟอร์ม Win32 ที่ระบบกำลังทำงานอยู่ นี่จะเป็นหนึ่งในค่าต่อไปนี้:
ความหมายคุณค่า
ระบบ VER_PLATFORM_WIN32s คือ Win32
ระบบ VER_PLATFORM_WIN32_WINDOWS คือ Windows 95
VER_PLATFORM_WN32_NT ระบบเป็น Windows NT
Win32Platform มีเฉพาะบน Windows เท่านั้น