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

خطأ في البرنامج وذلك عند تشغيلة

بدأه محمد فؤاد تركي في 22 نوفمبر 2008 · 11 رد · 850 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السادة الزملاء

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

برنامجي فجأه توقف عن العمل بدون ان اقوم بأي تعديلات عليه وظهرت هذه الرسالة

post-46243-1227343909_thumb.jpg

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

post-46243-1227343933_thumb.jpg

حاولت أعمل

Clean

ثم

Build

لكن بدون فائده

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

ولا اعرف حتي الان سبب المشكلة

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

Public sqlcon As New SqlConnection("Server=MFOUAD\SQLEXPRESS;Database=index;Trusted_connection=yes;")

اما اذا حاولت تشغيل هذه الدالة

Public Function Get_ConnectionString() As String
		Dim connstring As String
		If My.Computer.FileSystem.FileExists("C:\ConStr.xml") Then
			Dim sr As New StreamReader("C:\ConStr.xml")
			connstring = sr.ReadLine
			Return connstring
		End If
	End Function

Public sqlcon As New SqlClient.SqlConnection(Get_ConnectionString)

يظهر الخطأ مع العلم ان البرنامج كان يعمل بهذه الدالة بدون اي مشاكل

تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 22 نوفمبر 2008 في 12:03

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#3

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

يبدو أن المشكله في قراءة ملف الـ xml

جرب

			connstring = sr.ReadToEnd

بدلاً من ( ReadLine )

#4

الاخ الغالي system down

لقد تتبعت الخطأ بالفعل

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

عموما تفضل ملف مشروح بالفيديو لتتبع المشكلة

الاخ الغالي السعوددي

الحل المطروح من طرفك لم يفلح

ايضا غيرت امتداد الملف من XML الي txt

وغيرت هذا الامتداد في الكود ولكن بدون جدوي نفس الخطأ المرفق

وشكرا علي المساعدة

Error.rar

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#5

السلام عليكم,,,

اخي ممكن تعرض InnerException للخطأ الذي يحصل معاك.

[وسط]لا اله الا انت سبحانك انى كنت من الظالمين

[/وسط]

#6

مش فاهم

بعد الضغط علي InnerException التي تظهر في الخطأ تظهر هذه الصورة والتي قد وضعتها في اول المشاركة

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#7

لما يظهر الخطأ.

تضغط على View Detail، ومن النافذة الي تظهر تضغط على علامة (+) ويظهر InnerException .

post-173477-1227382975_thumb.jpg

تم تعديل هذه المشاركة بواسطة ddata11 في 22 نوفمبر 2008 في 22:43

[وسط]لا اله الا انت سبحانك انى كنت من الظالمين

[/وسط]

#9

تفضل صورة من الخطأ كما طلبت

post-46243-1227413058_thumb.jpg

حزووم

لم تفلح العملية

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#10

حاول تلغي التشييك عن وجود الملف

دعه يبدأ بالقراءه مباشره

وإذا مامشى الحال

فيه طريقه نلتف فيها على المشكله

وهي قراءة اسم السيرفر فقط ... وهو مايهمنا

بهذه الطريقه

Imports System.IO



Public Function Get_ServerName() As String

Dim ServerName As String

If My.Computer.FileSystem.FileExists("C:MyServerName.txt") Then

  Dim sr As New StreamReader("C:MyServerName.txt")
  ServerName = sr.ReadLine
  Return ServerName

End If

End Function



Public sqlcon As New SqlClient.SqlConnection("Server=" & Get_ServerName() & "SQLEXPRESS;Database=index;Trusted_connection=yes;")

تم تعديل هذه المشاركة بواسطة السعوودي في 23 نوفمبر 2008 في 09:44

#11

عادة الخطأ TypeInitializationException يكون نتيجة خطأ آخر يظهر في InnerException .

واظن ان الخطأ معاك في sqlcon في نص الأتصال،

على العموم ممكن تجرب تعمل تتبع كافة الأخطاء التي يمكن ان تنتج في زمن التشغيل، كيف؟

من القائمة Debug اضغط على Exceptions وعين الأعدادات كما في الصورة.

post-173477-1227442537_thumb.jpg

بعدها شغل البرنامج وشوف فين الخطأ او الأخطاء الي تحصل.

[وسط]لا اله الا انت سبحانك انى كنت من الظالمين

[/وسط]

#12

شكراً جزيلاً لكم يا اخواني

بعد بحث وتدقيق في البرنامج وطريقة القرآة والكتابة داخل الملفات النصية اكتشفت الحل وبعد معاناه

احب ان اشرح لكم كيف توصلت للمشكلة فربما تقابل احد الزملاء فيما بعد

المشكلة كانت في هذه الدالة تحديداً

Function FileCreate_Set_Get() As String
		Dim connstring As String = Nothing
		If My.Computer.FileSystem.FileExists(Application.StartupPath & "\" & "ConStr.XML") Then
			Dim sr As New StreamReader(Application.StartupPath & "\" & "ConStr.XML")
			connstring = sr.ReadLine
		Else
			Dim Str As New FileStream(Application.StartupPath & "\" & "ConStr.XML", FileMode.Create)
			Dim Sw As New StreamWriter(Str)
			Sw.WriteLine("Server=CODING01\TEST;Database=index;User ID=sa;password=123456;")
			Sw.Close()
			Str.Close()
			FileCreate_Set_Get()
		End If
		Return connstring
End Function

وبالاخص هذا السطر

Sw.WriteLine ( True)

وهو مسؤل عن كتابة سلسلة الاتصال داخل الملف النصي

وكانت سلسة الاتصال تظهر بهذا الشكل

Server=MFOUADSQLEXPRESS;Database=index;Trusted_connection=yes;True

المشكلة كلها في كلمة True

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

شكراً لكم جميعا علي المساعدة

تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 23 نوفمبر 2008 في 22:58

certifiedj.jpg

 

 

Image Hosted by ImageShack.us

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