• Thứ Hai, 12/02/2007 09:10 (GMT+7)

    Chương trình nghe nhạc viết bằng VB6.0 chạy một lúc bộ nhớ bị đầy rồi treo

    Câu hỏi :
    Lập chương trình nghe nhạc bằng VB 6.0, chương trình chạy tốt nhưng chạy một lúc thì bộ nhớ bị đầy và phát sinh lỗi rồi treo. Đề nghị hướng dẫn cách khắc phục.
     

    Trả lời :

    Rất tiếc là bạn không cung cấp cho chúng tôi mã nguồn, do đó chúng tôi không thể biết chính xác bạn đã xử lý file nhạc như thế nào và vì vậy chúng tôi không thể xác định chính xác lỗi của chương trình. Tuy nhiên, theo những gì bạn trình bày, rất có thể nguyên nhân lỗi là do việc cấp phát động bộ nhớ chứa dữ liệu của chương trình. Đối với người lập trình không chuyên, việc quên giải phóng các vùng nhớ đã xin cấp phát là chuyện thường xảy ra, từ đó dung lượng bộ nhớ bị chiếm dụng lãng phí của chương trình ngày càng lớn trong quá trình chương trình hoạt động (cứ khi cần thì xin cấp phát để dùng, nhưng khi hết cần thì quên giải phóng) đến khi hệ thống hết bộ nhớ thì chương trình phát sinh lỗi.

    Một trong những biện pháp khắc phục lỗi trong chương trình nghe nhạc của bạn là dùng đối tượng sẵn có của Microsoft tên là "Windows Media Player" để thực hiện phát các file nhạc (hay file multimedia khác), chương trình của bạn chỉ làm "trung gian" giao tiếp với người dùng, mỗi lần người dùng yêu cầu chơi 1 file (hay 1 playlist chứa nhiều file) nhạc, chương trình của bạn sẽ nhờ đối tượng WMP thực hiện dùm. Vì WMP được viết rất chuyên nghiệp, nó quản lý bộ nhớ rất tốt nên không gây lỗi khi chơi nhiều file nhạc.
     

    Chuyên mục: Lập trình