الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة ضياع المتغيرات في Vs2005

مغلق
بدأه إسماعيل ابراهيم في 21 نوفمبر 2007 · 6 رد · 514 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

مشكلتي مع فيجول ستوديو 2005 هي أنه بعد مدة طويلة من العمل كان كل شيء ممتاز

وفي احدى المرات عنمدما قمت بعمل Debug

تلقيت رسالة مفادها أن

ListView_01 غير معرف !! واكتشفت أن تعريف هذا المتغير يختفي لوحده من الكود عند القيام باي تغيير على الفورم الذي يحوي هذا المتغير

المشكلة منتشرة في العالم ووجدت الكثير من الاسئلة حول هذه النقطة ععندما بحثت في جوجل لكن لم أجد حل.

هل واجهت أحدكم هذه المشكلة؟

وهل لها حل؟

رجاء عملي توقف بسبب هذه المشكلة

-----------------------------------

ملاحظة:

لا يوجد أي خطأ برمجي يؤدي الى هذه المشكلة

كل شيء قمت بفحصه بمنتهى الدقة

-------------------------------

#2

السلام عليكم

هذه المشكلة تظهر عادة عندما لايكون هناك تطابق بين المكونات الموجودة على الواجهة الرسومية والكود المتعلق بها.

وخاصة مع إستعمال ال components

عندما يحدث هذا الإشكال ستجد أسماء المكونات أو المتغيرات المسببة لذلك حاول تتبعها وتعليقها comment

ربما بذلك يحل الإشكال

post-91400-1195676888_thumb.jpg

post-91400-1195676872_thumb.jpg
#3

فعلا في كثير من الأحيان أحتاج الي تعديل الـ Form designer generated code يدويا وأحيانا يكون السبب هو وجود Bugs في VS Designer لذلك يفضل أن تقوم بتثبيت VS 2005 SP1

#4

شكرا جزيلا لتفاعلكم

المشكلة هي أنني أقوم بإعادة تعريف المتغير... وتنتهي المشكلة لكن ما أن أحرك أي شيء في الفورم حتى يضيع التعريف الذي أعدت كتابته يدويا

....

مثلا الcode generator يقوم بكتابة السطر التالي:

System.Windows.Forms.ListView listView00;

فيحدث مثلا أن أحرك زر معين (لا علاقة له بالموضوع اطلاقا) فأجد أن السطر أعلاه حُذِف... أقوم بكتابته يدويا...ويعمل البرنامج دون مشاكل لكن ما أن اعدّل اي تعديل على الفورم حتى اجد ذاك السطر قد حذف!!!

وبخصوص عدم التطابق أنا اقوم بقراءة الكود الذي ينتج آليا وهو مطابق لكن الخلل ليس في عدم المطابقة المشكلة في ضياع التعريف وهذا يتكرر الى ما لا نهاية... أعيد التعريف تحل المشكلة أقوم بتحريك اي شيء يختفي سطر التعريف.. أعيد كتابته تحل المشكلة أحرك أي شيء يختفي التعريف.... وهكذا دواليك...

ملاحظة: لا علاقة للمكون الذي احركة فلنفرض مثلا انني أغير لون الفورم... سيحدث ما قلته.

تم تعديل هذه المشاركة بواسطة إسماعيل ابراهيم في 22 نوفمبر 2007 في 01:11

#5

لاحظت شيئا ... مجرد ملاحظة لا تحل المشكلة ولا تساهم في الحل لكن مجرد شيء لاحظته وهو

عندما يقوم VS آليا بعملية : InitializeComponent ألاحظ أنه ينادي كل عنصر بإسمه الكامل هكذا:

 this.BeamName = new System.Windows.Forms.ColumnHeader();

لكن العنصر الذي تواجهني فيه المشكلة لا يستخدم له this أي هكذا :

listView00 = new System.Windows.Forms.ListView();

لا أدري ما الفائدة لكن ملاحظة قد تفيد غيري. لكن مع this أو بدونه الكود صحيح طالما نحن في نفس الفئة والمتغير معرف فيها فـ this هنا للتحديد.

#6

غريبه فعلا !! هل تستخدم Third Party Component ؟

عموما لو كانت bug في الـ Designer فاعتقد ان الـ SP ان شاء الله سيحلها.. نزلها وجرب وشوف ,,,

#7

للأسف الـ SP لم يساعد!

هذا الموضوع مغلق.

مواضيع مشابهة