إذا كانت دلفي تتيح لنا متغيرات في قسم ال global واي تصريح عن متغير في هذا القسم يتيح استخدامه في اي مكان في ال unit
إذا لماذا نستخدم المتغيرات في قسم ال local اقصد لماذا لا نضع كل المتغيرات في القسم العام مره واحده
عندما نقوم بالاعلان عن متغير Global في صنف ما فان الكائن الدي ننشئه من هدا الصنف يحتفظ بهدا المتغير في الداكرة الى ان يتم تدمير الكائن ونستطيع الولوج لهدا المتغير حسب مدى الروية Private ,Protected,Public,....
اما المتغير المحلي فهو ينتهي فور انتهاء الاجرائية أو الدالة التي اعلن فيها...مع العلم بأن المتغير المحلي ادا كان كائنا سيبقى في الداكرة لدا يجب تدميره...
- المتغيرات ما قبل قسم implementation
يتم الولوج في الوحدة الحالية و كافة الوحدات التي تستخدم هذه الوحدة (صلاحيات الرؤيا)
- المتغيرات ما بعد قسم implementation
تترجم فقط في الوحدة الحالية , يعني تتستخدم فقط من طرف هذه الوحدة .
1- الـ global
يستخدم (تخزين/تفريغ/إرفاق....الخ) من كافة أقسام الكود .
2- الـ Local
يستخدم من قسم الكود المحلي فقط (المعرف به) .
اعلم ما قلته اخي الفاضل ولكن لماذا لا يمكنني وضع كل المتغيرات في قسم ال Global والاستغناء عن قسم ال local ؟ مع ان عند تنفيذ البرنامج سيعمل بدون مشاكل ؟
مثال متغير محلي على مستوى الاجراء يتم وضعه في ال procedure الخاص به , ما الخطأ في انني اضع المتغير قبل ال implementation ؟
أعتقد ان هناك سبب جوهري وإلا ما كانت دلفي خصصت قسم local .
علما بما دار في ذهني هو ان قسم ال Local ميزته الوحيده ان ما به من متغيرات لا تنفذ عند تشغيل البرنامج بشكل عام بدون استخدام الاجراء
وذلك مما يوفر موارد الجهاز اي يقلل من استهلاك الذاكره لان لم يتم حجز المتغيرات في الذاكر مع تشغيل البرنامج بشكل عام ..