| الموضوع السابق | الموضوع التالي |
الغرض
منع تشغيل نسختين من البرنامج في نفس الوقت.
الصيغة
function AppIsRunning(UMsg: string = ''; UTitle: string = ''; URtl: Boolean = True): BOOL;
الوسائط (Parameters)
| UMsg | بارامتر اختياري يحدد نص الرسالة التي ستعرض على المستخدم في حال وجود نسخة شغالة سابقاً من البرنامج. | |
| UTitle | بارامتر اختياري يحدد عنوان الرسالة التي ستعرض على المستخدم. | |
| URtl | بارامتر اختياري يحدد ما إذا كانت الرسالة ستكون من اليمين إلى اليسار (عربي) أم لا (لاتيني). |
الشرح
لاحظ أن البارامترات الثلاثة اختيارية، أي يمكن استدعاء الدالة دون بارامترات.
أحياناً تريد - و ربما يجب - أن لا توجد نسختان من البرنامج تعملان في نفس الوقت على نفس الحاسوب، خاصة في البرامج التي تتعامل مع ملفات محددة كما هو الحال في برامج قواعد البيانات. إن استدعاء هذه الدالة - كما سنبين أدناه - يعمل على منع ذلك الأمر.
بما أن البارامترات اختيارية فإن إهمالها أو تمرير قيمها الافتراضية يجعل الدالة تستعمل القيم الافتراضية كالتالي:
| البارامتر | القيمة الافتراضية | النتيجة |
|---|---|---|
| UMsg | نص فارغ | نص الرسالة يقول: "لا يمكن تشغيل نسختين من هذا البرنامج في نفس الوقت." |
| UTitle | نص فارغ | عنوان الرسالة يكون اسم الملف التنفيذي للبرنامج. |
| URtl | True | نافذة و نص الرسالة يكون من اليمين إلى اليسار (اتجاه عربي). |

طريفة الاستدعاء:
program Project1;
uses
Forms,
DNSDGen,
Unit1 in 'Unit1.pas' {Form1};
// .
// .
// .
{$R *.res}
begin
if not AppIsRunning then begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
// .
// .
// .
Application.Run;
end;
end.
أعلى الصفحة
| الموضوع السابق | الموضوع التالي |