تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكلة بعد ايقاف الصوت من خلال اداة الميديا بلاير
#13
السلام عليكم ورحمة الله وبركاته

أخي الكريم
قمت بتجربة البرنامج من خلال البرنامج التنفيذي مباشرة الموجود في مجلد Debug ولم تظهر أي مشكلة على الإطلاق
ثم قمت بفتح المشروع وتنفيذ البرنامج من داخله وبالفعل ظهر الخطأ التالي
كود :
[color=#ff0000]AccessViolationException[/color]
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
وسبب الخطأ أن أداة الميديا بلير عند الضغط على زر Esc تحاول أن تقوم بعملية ما في نفس الوقت الذي يقوم البرنامج فيه بإغلاق نفسه ومسح بياناته من الذاكرة
فيصبح محاولة الوصول من أداة الميديا بلير إلى بياناتها في الذاكرة مستحيلة حيث أنه تم مسحها بالكامل
حسنا عرفنا سبب المشكلة فما الحل لها؟
إليك الحل أخي الكريم:
استبدل الأمر Me.Close بالأمر End الذي يختلف عن السابق أنه سيقطع جميع الأحداث والوظائف التي لا تزال تعمل في الخلفية وبعدها سيقوم بالخروج من البرنامج وبالتالي لن تبقى أي عملية قيد التشغيل ولن تظهر المشكلة بإذن الله
وكنصيحة وتجنبا للتكرار في الأكواد قم بتغيير القيمة للخاصية CancelButton من None إلى btnExit وذلك من خصائص الفورم
ليصبح الكود بالشكل التالي:
كود :
Public Class Form1
    Private Sub btnPlay_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPlay.Click
        AxWindowsMediaPlayer1.URL = "C:\Wrong_Answer.wav"
    End Sub
    Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
        End
    End Sub
End Class

بالتوفيق

الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
مشكلة بعد ايقاف الصوت من خلال اداة الميديا بلاير - بواسطة sooriaty03 - 17-06-13, 10:06 AM


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم