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

ظهور رسالة خطا عند ربط الصفحه مع المشروع الاصلي

مغلق
بدأه صاحبة السمو في 19 ديسمبر 2006 · 4 رد · 829 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخواني الاعزاء

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

عندي مشكلة بسيطه اخواني

هي انني مقسمة مشروعي على عدة اجزاء واقوم ببرمجة كل جزء او صفحه على حده

المشكلة التى تواجهني هو انني كلما فتح المشروع الاصلى ونفذت كود معين يعطيني اشارة خطا

مع العلم ان هذه الصفحه عندما كنت اشغلها لحالها او اعمل التشغيل مباشرا منها (جعل المشروع يبدا من الصفحة التى اعمل عليها ) يعمل معي بالشكل الصحيح

بينما لما اشغل المشروع ككل وادهب الى هذاه الصفحة واكبس على البتوم فيها يعطيني خظا في الكود

الصفحه هي كالتالى ادا كتب قيمه معينه في التكس بوكس واحد يعيد مايقابلها في التكس بوكس 2 بمجرد كتابت قيمه

اما ادا كبس انتر على التكس بوكس1 وهو فارغ يفتح داتا غريد تحتوي على جدول ليختار منها المستخدم مايشاء(بمجرد الكبس على احد الصفوف يرجع قيمة الموجوده بالصف في تكس بوكس واحد واثنين في الصفحه الاولى)

كما دكرت انو هدا الكود يعمل معي بالشكل الصحيح عندما اشغل المشروع من تلك الصفحه ولكن عندما اشغل المشروع من الصفحه الرئسية وادهب الى تلك الصفحه بمجرد النقر على انتر وهو فارغ يفتح داتا غريد فيوم وعندما اكبس على احد الصفوف لكي ارجع القيمه الى التكس بوكس يعطيني رسالة خطا

الرسالة موجوده بالمرفقات

اسفة على الاطالة وايضا اسفه ادا تجاوزت قواعد المشاركه ( مع اني لا اعتقد ذلك)

post-94310-1166527620_thumb.gif

1145392391.gif
#2

السلام عليكم

ربما والله أعلم أنكِ عرفتي عنصر دون استنساخه.

على سبيل المثال ربما عرفتي العنصر Dataset على هذا النحو

  Dim Rs As DataSet

وهو يفترض ان يكون على هذا النحو.

 Dim Rs As New DataSet

الرسالة واضحة حيث تقول ان هنالك عنصر تم تعريفه بدون عملية استنساخ

العناصر التي تحمل بناء Constructor لابد ان نستخدم لها الكلمة New

للمزيد عن هذا المنطق إليكِ الرابط التالي بالتوفيق إن شاء الله.

في المثال يتضح المقال

#3

الف شكر ياخ الغملاسي على ردك

ولكن للاسف لم يكن هذا الخطا لدي

وقد قمت بالبحث في جميع صفحات مشروعي بس الحمد لله لم اجد اي تعرف غلط لمتغير

كل التعريفات عندي صحيحه وبالصيغه التى تفضلت وتحدثت عنها باستثناء بالطبع المتغير ات التالي

integer string datarow

وللاسف لا يزال الخطاء موجود عندي

هل يمكن ان تكون نسخه الفيجول نفسها فيها عطب ما

اي يكون فيها خلل ما ولذلك تاتيني هذه الرسائل

لانو هذا الكود يعمل لحاله بس لما اضيفه للمشروع لايعمل

1145392391.gif
#4

الاخوة الافاضل

ها انا من بعد اسبوعين في نفس المشكله

ابحث عن حل لها وللاسف لم اعرف ما هو السبب

المشكله كما دكرت ان الكود يعمل معي صحيح (اقصد form )

ولكن عند اضافته للمشروع ككل يعطي خطا

مرفق جزء من المشروع يوضح الحطا

ارجو التجربه ولمن يعرف ماهي المشكله

ياليت لو يشرحه لي

الصفحه التى فيها خطا هي

طبعا حيفتح المشروع على الصفحه الرئسية بعد تشغيل المشروع

اختر من القائمه الموجوده الحسابات --> الرئسية --> تعديل

هنا ستفتح صفحه تعديل حساب ادا كبس على الانتر في التكس بوكس الاول وهو فارغ سوف يفتح صفحه جديده فيها جميع الحسابات ادا اخترت بالموشر اي حساب

سوف يتعطل البرنامج ويقف بينما المطلوب كان ادا كبس على حساب معين يسترجع رقم الحساب واسمه على تكس بوكس واحد واثنين على التوالى

اكرر هده العمليه قد نجحت معي عندما جعلت بداية المشروع من صفحه التعديل (اقصد form3 ) وكان يعمل اخر حلاوه

ولكن عندما اجعل المشروع يفتح من الصفحه الاولى عند الوصول للنقطه المدكوره في الاعلى يتعطل النظام

ارجو المساعده للضروره القصوى ومشكوره اكتير لكل الاخوه

sanad.rar

1145392391.gif
#5

السلام عليكم

هنالك امور ان لم نستخدمها بشكل صحيح , تعطي نتائج غير مرغوب فيها اطلاقًا.

على سبيل المثال :

  Private Dp As OleDbDataAdapter()

الكل يظن ان Dp هو عنصر من نوع OleDbDataAdapter

و البيئة كذلك, إلا ان Dp هنا هي عبارة عن مصفوفة !!!! إن استخدام القوسين يعني مناداة بناء القالب, ومناداة بناء القالب لا تتم إلا بشرط

استنساخ عنصر منه , اي باستخدام الكلمة New, غير ذلك سيتعامل مع المتغير Dp على انه مصفوفة من نوع OleDbDataAdapter

وليس عنصر OleDbDataAdapter.

كذلك مما يعرف في البرمجة بخنق المصادر وهو استنساخ العنصر مرتين .

على سبيل المثال :

  Private Dp As New OleDbDataAdapter()
 Dp = New OleDbDataAdapter(SQL, Con)

و الصواب هو :

 Private Dp As OleDbDataAdapter
 Dp = New OleDbDataAdapter(SQL, Con)

كذلك هنالك ميزات متوفرة في 2005 يجب استغلالها افضل استغلال

وهذا ينطبق على النموذج form3 مع form10 بما ان form3 تم جلب البيانات فيه وهو ينتظر قيمة من form10

بعد ذلك , فلماذا نقوم بجلب البيانات مرة اخرى في form10 سنستفيد من الـ DataSet الموجودة في form3 ونسندها كمصدر

للشبكية DataGridView , لكن فقط لابد ان نجعل الـ DataSet في form3 عامة public على سبيل المثال:

  Public Rs As New DataSet

ثم في النموذج form10 نقوم بالتالي:

 DataGridView1.DataSource = My.Forms.Form3.Rs.Tables("DTMain")

اعيد و اكرر المشكلة لم تكن في النموذج form1 نفسه, بل كانت في تعريف المتغيرات لديكِ.

الحل في المرفق ان شاء الله.

sanad.rar

تم تعديل هذه المشاركة بواسطة الغملاسي في 8 يناير 2007 في 21:22

في المثال يتضح المقال

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…