17-06-13, 10:06 AM
السلام عليكم ورحمة الله وبركاته
أخي الكريم
قمت بتجربة البرنامج من خلال البرنامج التنفيذي مباشرة الموجود في مجلد Debug ولم تظهر أي مشكلة على الإطلاق
ثم قمت بفتح المشروع وتنفيذ البرنامج من داخله وبالفعل ظهر الخطأ التالي
وسبب الخطأ أن أداة الميديا بلير عند الضغط على زر Esc تحاول أن تقوم بعملية ما في نفس الوقت الذي يقوم البرنامج فيه بإغلاق نفسه ومسح بياناته من الذاكرة
فيصبح محاولة الوصول من أداة الميديا بلير إلى بياناتها في الذاكرة مستحيلة حيث أنه تم مسحها بالكامل
حسنا عرفنا سبب المشكلة فما الحل لها؟
إليك الحل أخي الكريم:
استبدل الأمر Me.Close بالأمر End الذي يختلف عن السابق أنه سيقطع جميع الأحداث والوظائف التي لا تزال تعمل في الخلفية وبعدها سيقوم بالخروج من البرنامج وبالتالي لن تبقى أي عملية قيد التشغيل ولن تظهر المشكلة بإذن الله
وكنصيحة وتجنبا للتكرار في الأكواد قم بتغيير القيمة للخاصية CancelButton من None إلى btnExit وذلك من خصائص الفورم
ليصبح الكود بالشكل التالي:
بالتوفيق
أخي الكريم
قمت بتجربة البرنامج من خلال البرنامج التنفيذي مباشرة الموجود في مجلد Debug ولم تظهر أي مشكلة على الإطلاق
ثم قمت بفتح المشروع وتنفيذ البرنامج من داخله وبالفعل ظهر الخطأ التالي
كود :
[color=#ff0000]AccessViolationException[/color]
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.فيصبح محاولة الوصول من أداة الميديا بلير إلى بياناتها في الذاكرة مستحيلة حيث أنه تم مسحها بالكامل
حسنا عرفنا سبب المشكلة فما الحل لها؟
إليك الحل أخي الكريم:
استبدل الأمر 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بالتوفيق

