26.04.2015 Views

البرمجة الغرضية التوجه في دلفي

البرمجة الغرضية التوجه في دلفي

البرمجة الغرضية التوجه في دلفي

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>البرمجة</strong> <strong>الغرضية</strong> <strong>التوجه</strong> <strong>في</strong> دل<strong>في</strong><br />

عروة عيسى<br />

تحرير الأغراض مرة واحدة فقط :<br />

إذا قمت بإستدعاء المنهج Free أو الهادم Destroy أكثر من مرة<br />

،<br />

متحول الغرض إلى Nil فإنك تستطيع إستدعاء المنهج Free أكثر من مرة دون أخطاء<br />

.<br />

.<br />

فإن ذلك سيولد خطأ بلا شك . ولكن إذا ضبطت<br />

ملاحظة : ربما تتسائل لماذا تستطيع بإمان أن تستدعي Free إذا كان مرجع الغرض ، NIL ولاتستطيع إستدعاء<br />

Destroy<br />

السبب أن Free هي منهج معرف على موقع ذاكرة معطى . <strong>في</strong> حين أن الإستدعاء الإفتراضي<br />

يتم تحديدة <strong>في</strong> زمن التشغيل بالنظر إلى صنف الغرض<br />

موجودا<br />

Destroy<br />

،<br />

.<br />

وهي تعليمة خطيرة جدا <strong>في</strong> حال أستخدمت ولم يكن الغرض<br />

ولتجميع الأمور بشكل جيد<br />

،<br />

إليك هذة الخطوط العريضة<br />

:<br />

دائما إستخدم المنهج Free لتحرير الأغراض بدلا من الهادم<br />

إستخدم الدالة<br />

. Destroy<br />

، FreeAndNill<br />

أو إضبط مرجع الغرض إلى Nil بعد إستدعاء المنهج<br />

. Free<br />

•<br />

•<br />

تستطيع إختبار إذا كانت قيمة مرجع غرض ما Nil بإستخدام التابع<br />

. Assigned<br />

if Assigned (ADate) then ...<br />

if ADate nil then ...<br />

العبارتان التاليتان متكا<strong>في</strong>ٔتان <strong>في</strong> معظم الحالات<br />

:<br />

تذكر أنه حتى لوكانت القيمة ليست Nil فهذا لا يعني أن المؤشر صالح للتعامل<br />

الغرض ولكنة لن يضبطة إلى Nil وبالتالي التعليمة التالية ستسبب خطأ<br />

.<br />

مثال إن إستخدام المنهج<br />

Free سيحرر<br />

ToDestroy.Free;<br />

if ToDestroy nil then<br />

ToDestroy.DoSomething;<br />

.<br />

٣٠

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!