منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

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

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



يطلع المسج ويقوم باغلاق البرنامج

الرساله هيه

إقتباس :Error Output:
System.NullReferenceException: Object reference not set to an instance of an object.
  at System.Windows.Forms.RichTextBox.EditStreamProc(IntPtr dwCookie, IntPtr buf, Int32 cb, Int32& transferred)
  at System.Windows.Forms.UnsafeNativeMethods.CallWindowProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
  at System.Windows.Forms.NativeWindow.DefWndProc(Message& m)
  at System.Windows.Forms.Control.DefWndProc(Message& m)
  at System.Windows.Forms.Control.WndProc(Message& m)
  at System.Windows.Forms.TextBoxBase.WndProc(Message& m)
  at System.Windows.Forms.RichTextBox.WndProc(Message& m)
  at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
  at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
  at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)0

المشكله ما اعرف مكان الغلط 

اذا مرة على احد او يعرف ليش تطلع هذه المشكله بارك الله فيكم افيدوني
هذه الجملة من الرسالة  ترفع الضغط عندي:
Object reference not set to an instance of an object
___________________________________________
هذي معتادة لكن بالنسبة لي بسبب أخطاء في التعريف للمتغيرات او استخدام الاوبجكتات(ان صحت التسمية)
مثلا  كتبت كود يجلب لك عنوان صفحة انترنت باستخدام الريجكس او  HtmlAgilityPack  والصفحة لا تحتوي عنوان وهكذا تظهر هذه الرسالة.
هذا بالنسبة لي وارجو ان اي احد مرت عليه او لديه خبرة بالحل ان يكتب الحل.
إضافة لما تقدّم به أستاذنا الغالي سعود بارك الله فيه و له و جزاه خير الجزاء إن شاء الله
بصراحة أنا و هذه الرسالة .. أصدقاء
و أحيانا باليوم الواحد تمر عليّ عشرات المرّات
و الأسباب كثيرة لكنها غير مؤثّرة على المشروع بصفة عامّة
و بكثرة الحالات بالنسبة لي تظهر لي مثلا عند نسيان فتح الإتصال في حين أو بجهة ثانية أعمل بالفورم لود كود يستلزم فتح الإتصال
بصفة عامة و غالبا ما أجدها مشكلة فتح و غلق الإتصال بقاعدة البيانات
حتى أني بيني و بين نفسي أسمي هذا النوع من الخطأ أو الرسائل
خطأ المتناقضات
فقط إبحث جيدا بأكوادك و ستجد الإشكالية بحول الله
تحياتي
(19-08-19, 12:55 AM)سعود كتب : [ -> ]هذه الجملة من الرسالة  ترفع الضغط عندي:
Object reference not set to an instance of an object
___________________________________________
هذي معتادة لكن بالنسبة لي بسبب أخطاء في التعريف للمتغيرات او استخدام الاوبجكتات(ان صحت التسمية)
مثلا  كتبت كود يجلب لك عنوان صفحة انترنت باستخدام الريجكس او  HtmlAgilityPack  والصفحة لا تحتوي عنوان وهكذا تظهر هذه الرسالة.
هذا بالنسبة لي وارجو ان اي احد مرت عليه او لديه خبرة بالحل ان يكتب الحل.



اهلا استاذ سعود

المشكله استاذي ان المشكله تطلع في بعض الاجهزه 

مثلا في جهازي اجعل البرنامج شغال اكثر من 9 ساعات وما يطلع المسج

في بعض الاجهزه تطلع الرساله بعد فترة عمل البرنامج ومن ثم يتم اغلاق البرنامج

HtmlAgilityPack    موجود في الكود عندي يمكن يكون منه  

جاري البحث Smile

(19-08-19, 01:10 AM)عبد العزيز البسكري كتب : [ -> ]
إضافة لما تقدّم به أستاذنا الغالي سعود بارك الله فيه و له و جزاه خير الجزاء إن شاء الله
بصراحة أنا و هذه الرسالة .. أصدقاء
و أحيانا باليوم الواحد تمر عليّ عشرات المرّات
و الأسباب كثيرة لكنها غير مؤثّرة على المشروع بصفة عامّة
و بكثرة الحالات بالنسبة لي تظهر لي مثلا عند نسيان فتح الإتصال في حين أو بجهة ثانية أعمل بالفورم لود كود يستلزم فتح الإتصال
بصفة عامة و غالبا ما أجدها مشكلة فتح و غلق الإتصال بقاعدة البيانات
حتى أني بيني و بين نفسي أسمي هذا النوع من الخطأ أو الرسائل
خطأ المتناقضات
فقط إبحث جيدا بأكوادك و ستجد الإشكالية بحول الله
تحياتي

فعلا المشكله مزعجه جدا

ان شاءالله  احاول ابحث واشوف





انا حصلت بعد المواضيع في النت تتكلم عن حل للمشكله

مثلا هذا

https://www.youtube.com/watch?v=2WUYF0q03tg

يقول ان فقط اضاف 

كود :
try


catch(Exception)

في اول الكود  !!


وهناك حل ثاني  هو

كود :
Dim MyString as string = ""


يقول بدل ال ""

نكتب كذا

كود :
    Dim Mystring as string = String.Empty

سؤال

المسج الي يطلع

كود :
at System.Windows.Forms.RichTextBox.EditStreamProc(IntPtr dwCookie, IntPtr buf, Int32 cb, Int32& transferred)

هل يعني المشكله من فورم معين في RichTextBox
هل تحب طريقة حفظ او انشاء ملف اخطاء؟
اظنه مناسب بحيث يمنع من توقف البرنامج لكن لا يقوم بالاصلاح حتى تطلع على الملف.
انظر للرابط التالي:
[مثال] شرح بسيط لجملة إصطياد الأخطاء Try ... Catch ... Finally Statement

سجل دخولك لتظهر لك الصور.
السلام عليكم ورحمة الله وبركاته
ابحث عن تعريفات المتغيرات النصية (strıng) واسند لها قيم فارغة ولاتتركها (تعريف فقط) بدون قيمة  
(19-08-19, 10:46 AM)ابراهيم ايبو كتب : [ -> ]السلام عليكم ورحمة الله وبركاته
ابحث عن تعريفات المتغيرات النصية (strıng) واسند لها قيم فارغة ولاتتركها (تعريف فقط) بدون قيمة  

وضع المتغيرات بين 
try
الكود
end try
لكي لا يحصل نفس الخطأ كمال قال الاستاذ ابراهيم.
(19-08-19, 10:46 AM)ابراهيم ايبو كتب : [ -> ]السلام عليكم ورحمة الله وبركاته
ابحث عن تعريفات المتغيرات النصية (strıng) واسند لها قيم فارغة ولاتتركها (تعريف فقط) بدون قيمة  



اهلا استاذي الكريم

هل تقصد

كود :
   Public username As String = ""
   Public password As String = ""


اغيره بهذا

كود :
   Public username As String = String.Empty
   Public password As String = String.Empty
(20-08-19, 12:28 AM)اسامه الهرماوي كتب : [ -> ]
(19-08-19, 10:46 AM)ابراهيم ايبو كتب : [ -> ]السلام عليكم ورحمة الله وبركاته
ابحث عن تعريفات المتغيرات النصية (strıng) واسند لها قيم فارغة ولاتتركها (تعريف فقط) بدون قيمة  

وضع المتغيرات بين 
try
الكود
end try
لكي لا يحصل نفس الخطأ كمال قال الاستاذ ابراهيم.
\

قمت بتغيير اغلب الاكواد الى 

try

end try

كمثال

كود :
       Try
           TopMost = True
           Dim SavePath As String = String.Format("C:\settings\info{0}.s3db", strcallbk)
           If System.IO.File.Exists(SavePath) Then
               Dim dr As SQLiteDataReader
               Using cnn As New SQLiteConnection(String.Format("Data Source= C:\settings\info{0}.s3db", strcallbk))
                   Using cmdi As New SQLiteCommand(String.Format("SELECT * FROM info{0} ORDER BY id", strcallbk), cnn)
                       cnn.Open()
                       dr = cmdi.ExecuteReader()
                   End Using
                   Do While dr.Read()
                       CheckmmttyX = dr("Checkmmtty").ToString
                       CheckmmvariX = dr("Checkmmvari").ToString
                   Loop
               End Using
           End If

       Catch ex As Exception
           MsgBox(ex.Message)
       End Try


وان شاءالله ما تطلع لي المشكله المتعبه

شكرا لك استاذي اسامه