1.متغير التطبيق (التطبيق القياسي)
وصف المعلومات على مستوى التطبيق
وحدة
النماذج
فار التطبيق: TApplication؛
يصف
بشكل افتراضي، عندما تقوم بإنشاء مشروع جديد، تقوم دلفي بإنشاء كائن تطبيق وتعيينه لمتغير التطبيق الموجود في وحدة النماذج. يحتوي التطبيق على العديد من الخصائص التي يمكن استخدامها للحصول على معلومات حول التطبيق أثناء تشغيل التطبيق.
مثال
سيعرض هذا الرمز اسم مشروعك في مربع التحرير:
الإجراء TForm1.Button1Click(Sender: TObject);
يبدأ
Edit1.Text := Application.Title;
نهاية؛
2. كمدشوو متغير
يتم تمرير CmdShow إلى وظيفة Windows API ShowWindow.
وحدة
نظام
فار كمدشو: عدد صحيح؛
يصف
في البرنامج، عندما يقوم التطبيق بإنشاء النافذة الرئيسية، يحتوي المتغير CmdShow على قيم المعلمات التي يتوقع Windows تمريرها إلى ShowWindow.
في المكتبة (DLL)، يكون CmdShow دائمًا 0.
3.CompilerVersion ثابت
يحدد رقم إصدار مترجم دلفي
وحدة
نظام
const CompilerVersion = 15.0;
يصف
استخدم CompilerVersion لاختبار مستوى التكوين العام لمترجم دلفي. يعد هذا مفيدًا إذا كنت تريد تكييف التعليمات البرمجية التي تستفيد من الميزات الأحدث في لغة دلفي.
4.ExitProcessProc المتغير
يحدد ExitProcessProc الإجراء الأخير الذي سيتم تنفيذه قبل إيقاف تشغيل التطبيق.
وحدة
نظام
فار ExitProcessProc: الإجراء؛
يصف
قم بتعيين ExitProcessProc لتحديد العملية التي تريد تنفيذها قبل إغلاق التطبيق. قيمة ExitProcessProc هي إجراء بدون معلمات.
5. وظيفة GetFileVersion
إرجاع نسخة الملف
وحدة
سيسوتيلس
الدالة GetFileVersion(const AFileName: string): Cardinal;
يصف
يقوم GetFileVersion بإرجاع أهم 32 بت من رقم الإصدار الثنائي للملف. يحدد AFileName اسم الملف الذي يمكن البحث فيه باستخدام نفس المسار مثل وظيفة LoadLibrary.
6.GetModuleName وظيفة
إرجاع الاسم المؤهل بالكامل للوحدة النمطية للمقبض المحدد.
وحدة
سيسوتيلس
الدالة GetModuleName(Module: HMODULE): string;
يصف
قم باستدعاء GetModuleFileName للحصول على الاسم المؤهل بالكامل للوحدة النمطية للمقبض المحدد.
الوحدة هي مقبض الوحدة.
7.HInstance متغير
المقبض الذي يوفره Windows للوحدة النمطية.
وحدة
SysInit
فار HInstance: LongWord؛
يصف
يحتفظ HInstance بمقبض مثيل لتطبيق أو مكتبة يوفرها Windows
8.HintWindowClass متغير
يحدد فئة النافذة المستخدمة لعرض تلميحات المساعدة.
وحدة
النماذج
var HintWindowClass: THintWindowClass = THintWindow;
يصف
عندما يعرض أحد التطبيقات تلميح تعليمات، فإنه يقوم بإنشاء مثيل HintWindowClass لتصوير النافذة المستخدمة لعرض التلميح. يمكن للتطبيقات تخصيص هذه النافذة عن طريق إنشاء فئة مشتقة من THintWindow ثم تعيين الفئة المشتقة إلى متغير HintWindowClass عند بدء تشغيل التطبيق.
9.InitProc متغير
InitProc هي آخر عملية تهيئة تم تثبيتها.
وحدة
نظام
فار InitProc: المؤشر؛
يصف
قم بتعيين InitProc لتحديد الإجراء الذي تريد تنفيذه عند بدء تشغيل التطبيق. InitProc هو إجراء بدون معلمات. على سبيل المثال:
الإجراء MyInitProcedure;
...
التهيئة
InitProc := @MyInitProcedure;
يبدأ
نهاية؛
يمكن تعيين إجراء التهيئة فقط لمتغير InitProc. إذا قام تطبيقك بتعريف إجراءات تهيئة متعددة، فسيتم تنفيذ الإجراء الأخير المخصص لـ InitProc فقط. للسماح بتنفيذ إجراءات التهيئة الأخرى، يجب عليك "ربط" الإجراءات معًا، واستدعاء القيمة القديمة من القيمة الجديدة لـ InitProc. على سبيل المثال، التعليمة البرمجية التالية من وحدة ComObj تحفظ القيمة الأصلية لـ InitProc قبل تعيين قيمة جديدة، ثم تستدعي القيمة المحفوظة أثناء عملية التهيئة المعينة حديثًا:
SaveInitProc := InitProc;
InitProc := @InitComObj;
10.IsConsole متغير
يشير إلى ما إذا كان قد تم تجميع الوحدة النمطية كتطبيق وحدة تحكم.
وحدة
نظام
فار IsConsole: Boolean؛
يصف
إذا تم ترجمة الوحدة النمطية كتطبيق وحدة تحكم، يكون المتغير IsConsole صحيحًا. سيكون هذا صحيحًا في كل من الملف القابل للتنفيذ وDLL.
11.IsLibrary متغير
يشير إلى ما إذا كانت الوحدة النمطية عبارة عن ملف DLL.
وحدة
نظام
فار IsLibrary: Boolean؛
يصف
إذا كانت الوحدة النمطية عبارة عن DLL، يكون المتغير IsLibrary صحيحًا.
12.JITEnable متغير
التحكم في وقت استدعاء مصحح الأخطاء في الوقت المناسب.
وحدة
نظام
فار JITEnable: بايت = 0;
يصف
استخدم JITEnable للإشارة إلى نوع الاستثناء الذي سيؤدي إلى تشغيل مصحح الأخطاء في الوقت المناسب.
عندما تكون قيمة JITEnable هي 0 (القيمة الافتراضية)، ستتم معالجة كافة الاستثناءات باستخدام آلية معالجة الاستثناءات الخاصة بالتطبيق. يتم استدعاء مصحح الأخطاء في الوقت المناسب فقط عندما لا يوفر التطبيق أي آلية لالتقاط الاستثناءات. لاحظ أنه باستثناء مناطق التهيئة والانتهاء في وحدة دلفي، فإن أي تطبيق يتضمن وحدة النماذج يوفر معالجة الاستثناءات (من خلال كائن التطبيق) ولا يقوم بتشغيل مصحح الأخطاء في الوقت المناسب (لاحظ أن أي تطبيق يتضمن وحدة النماذج يوفر معالجة الاستثناءات (عبر كائن التطبيق) للجميع باستثناء أقسام التهيئة والإنهاء ولا يؤدي إلى تشغيل مصحح الأخطاء في الوقت المناسب).
عندما تكون قيمة JITEnable هي 1، فإن أي استثناء غير أصلي (يتم طرحه بواسطة تعليمات برمجية تم تجميعها باستخدام منتجات أخرى). سيتم تشغيل مصحح الأخطاء في الوقت الحقيقي. تتم معالجة الاستثناءات الأصلية من خلال آلية معالجة الاستثناءات الخاصة بالتطبيق.
عندما يكون JITEnable أكبر من 1، ستؤدي كافة الاستثناءات إلى تشغيل مصحح الأخطاء في الوقت الفعلي.
ملاحظة: عند تثبيت IDE، يتم تسجيله كمصحح أخطاء في الوقت المناسب. إذا قمت بتثبيت أدوات أخرى مع مصححات الأخطاء، فمن المحتمل أنها سجلت نفسها، مما أدى إلى الكتابة فوق تسجيل IDE.
13. وظيفة اللغات
قم بإدراج اللغة التي يتوفر الدعم لها.
وحدة
سيسوتيلس
اللغات الوظيفية: اللغات؛
يصف
استخدم القيمة التي أرجعتها اللغات للحصول على معلومات حول اللغات التي يدعمها النظام. هذه الوظيفة متاحة فقط على نظام Windows الأساسي
14. متغير MainInstance
يشير إلى مؤشر المثيل للملف القابل للتنفيذ الرئيسي.
وحدة
نظام
فار MainInstance: LongWord؛
يصف
استخدم MainInstance للحصول على مؤشر مثيل للملف الرئيسي القابل للتنفيذ في أحد التطبيقات. يعد هذا مفيدًا في التطبيقات التي تستخدم مكتبات أو حزم وقت التشغيل عندما تحتاج إلى مؤشر للملف القابل للتنفيذ بدلاً من المكتبة.
ملاحظة: لا تستخدم MainInstance عند تشغيل مكتبة الارتباط الديناميكي CLX (Windows) أو كائن مشترك (Linux) من ملف قابل للتنفيذ تم تجميعه باستخدام أدوات أخرى.
15.متغير MainThreadID
يشير إلى مؤشر ترابط التنفيذ الرئيسي في الوحدة الحالية.
وحدة
نظام
فار MainThreadID: LongWord؛
يصف
استخدم MainThreadID للحصول على معرف مؤشر الترابط الخاص بمؤشر ترابط التنفيذ الرئيسي (مؤشر الترابط الحالي عند تهيئة الوحدة النمطية).
أثناء تصحيح الأخطاء، يتم عرض معرف مؤشر الترابط الرئيسي هذا في مربع حالة مؤشر الترابط.
في نظام التشغيل Windows، تتوافق قيمة MainThreadID مع معرف مؤشر الترابط المطلوب بواسطة بعض استدعاءات Win32 API.
16.متغير NoErrMsg
يتحكم في ما إذا كان التطبيق يعرض رسالة خطأ عند حدوث خطأ في وقت التشغيل.
وحدة
نظام
var NoErrMsg: Boolean = False;
يصف
في نظام التشغيل Windows، قم بتعيين NoErrMsg للتحكم في ما إذا كانت سيتم عرض رسالة تشير إلى حدوث خطأ في وقت التشغيل. عندما تكون قيمة NoErrMsg خاطئة (الافتراضي)، تؤدي أخطاء وقت التشغيل إلى قيام التطبيق بعرض مربع رسالة يقترح نوع الخطأ الذي حدث. عندما تكون قيمة NoErrMsg صحيحة، سيتم منع هذه الرسائل.
على نظام التشغيل Linux، ليس لـ NoErrMsg أي تأثير.
ملاحظة: ستقوم وحدة SysUtils بتحويل معظم أخطاء وقت التشغيل إلى استثناءات. إذا كان التطبيق الخاص بك يتضمن SysUtils، فقد لا يتم عرض مربع رسالة خطأ وقت التشغيل حتى إذا كانت قيمة NoErrMsg خاطئة.
17.PopupList المتغير
يوفر معالجة مركزية لرسائل Windows المرسلة إلى القوائم المنبثقة
وحدة
القوائم
فار PopupList: TPopupList;
يصف
استخدم PopupList للوصول إلى كافة القوائم المنبثقة في التطبيق أو للوصول إلى مقبض النافذة الخاص بالنافذة التي تستجيب لرسائل القائمة المنبثقة. يحتفظ PopupList بقائمة بجميع مكونات القائمة المنبثقة التي تم إنشاؤها في التطبيق. تحمل هذه القائمة مؤشرًا لنافذة مخفية تتعامل بشكل مركزي مع رسائل Windows المرسلة إلى هذه القوائم المنبثقة.
18. ثوابت الإصدار RTL
يشير إلى رقم إصدار مكتبة وقت تشغيل دلفي.
وحدة
نظام
const RTLVersion = 15.0;
يصف
استخدم RTLVersion للتحقق من رقم إصدار مكتبة وقت تشغيل دلفي الذي لا يعتمد على مستوى إصدار المترجم.
19. متغير الشاشة
يمثل جهاز الشاشة
وحدة
النماذج
فار الشاشة: TScreen؛
يصف
متغير الشاشة هو أحد مكونات TScreen التي تمثل شاشة النظام حيث يتم تشغيل التطبيق. افتراضيًا، يقوم التطبيق بإنشاء مكون شاشة بناءً على معلومات حول جهاز الشاشة الحالي ويقوم بتعيينه لمتغير الشاشة.
20.Win32Platform المتغيرات
يحدد معرف النظام الأساسي Win32
وحدة
سيسوتيلس
فار Win32Platform: Integer = 0;
يصف
يتم استخدام Win32Platform لتحديد نوع نظام Win32 الأساسي الذي يعمل عليه النظام. وستكون هذه إحدى القيم التالية:
معنى القيمة
نظام VER_PLATFORM_WIN32 هو Win32
نظام VER_PLATFORM_WIN32_WINDOWS هو Windows 95
VER_PLATFORM_WN32_NT النظام هو Windows NT
Win32Platform متاح فقط على نظام التشغيل Windows.