Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 11 kết quả

Đề tài: Lỗi không thể tạo file mới do có chương trình khác đang sử dụng (mặc dù chưa có file đấy )

  1. #1
    Ngày gia nhập
    06 2007
    Bài viết
    182

    Mặc định Lỗi không thể tạo file mới do có chương trình khác đang sử dụng (mặc dù chưa có file đấy )

    chương trình của mình ra lệnh máy tính tạo một luồng mới nhầm ghi một file mới vào trong máy tính bằng câu lệnh
    strLocal = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None);

    lúc thì máy chả báo gì chạy ngon nhưng có lúc máy báo là đang được sử dụng bởi một chương trình khác. Mình lúc đầu bắt lỗi và dùng continue để chạy tiếp nhưng ko hiểu nên hỏi mọi người cách giải quyết. Nếu ko được thì chỉ mình cách để cho chương trình nghỉ một tẹo rồi lại tạo luồng mới xem có được ko
    Chiến thắng bằng mọi thủ đoạn. Quan trọng là kết quả.

  2. #2
    Ngày gia nhập
    06 2007
    Bài viết
    182

    Help me ?
    Chiến thắng bằng mọi thủ đoạn. Quan trọng là kết quả.

  3. #3
    Ngày gia nhập
    08 2011
    Nơi ở
    Hà Nội | http://ipmac.vn
    Bài viết
    198

    Luồng lạch như nào bạn ơi, tạo file bằng luồng đã close stream chưa ?
    Chương trình kết thúc đã kết thúc luồng chưa ?
    Bao chàng trai không tiếc tuổi xuân đang viết nhiều chương trình
    Em đẹp xinh cũng quyết lập công chưa muốn lấy chồng
    http://ipmac.vn/ <- Học lập trình ... sư
    http://laptrinh.tv/ <- Kênh chia sẻ video học IT
    http://www.youtube.com/user/anhnt3 <- Video thực hành lập trình... sư từ A-Z

  4. #4
    Ngày gia nhập
    06 2007
    Bài viết
    182

    Kết thúc ròi chứ . new rồi close lun mà.
    Chiến thắng bằng mọi thủ đoạn. Quan trọng là kết quả.

  5. #5
    Ngày gia nhập
    09 2008
    Nơi ở
    Nơi nào đó có em
    Bài viết
    87

    Bạn xem trong task manager xem còn process không?

    Mình nghĩ là do chương trình của cậu chưa giải phóng được bộ nhớ.
    Giúp người khác giải quyết khó khăn cũng là giải quyết khó khăn cho chính mình.

    Nếu một ngày bạn khóc.Bạn hãy gọi cho tôi,tôi không hứa sẽ làm bạn cười,nhưng tôi hứa sẽ cười vào mặt bạn

  6. #6
    Ngày gia nhập
    06 2007
    Bài viết
    182

    Mặc định Lỗi không thể tạo file mới do có chương trình khác đang sử dụng (mặc dù chưa có file đấy )

    uh để mình kiểm tra lại, có gì sẽ thông báo sớm, hết giờ làm rồi tớ về cơm đã ko mẹ tớ đổ đi hết @@
    Chiến thắng bằng mọi thủ đoạn. Quan trọng là kết quả.

  7. #7
    Ngày gia nhập
    06 2007
    Bài viết
    182

    Tớ kiểm tra rồi, chẳng có cái nào dùng chung cả, nó lúc thì báo lỗi lúc thì chả ý kiến gì. mệt mỏi với nó quá
    Chiến thắng bằng mọi thủ đoạn. Quan trọng là kết quả.

  8. #8
    Ngày gia nhập
    06 2007
    Bài viết
    182

    Mình post code lên cho mọi người xem nhé
    Code:
     if (startPointInt == 0)
                        {
                            strLocal = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None);
                        }
                        else
                        {
                            strLocal = new FileStream(path, FileMode.Append, FileAccess.Write, FileShare.None);
                        }
                        int bytesSize = 0;
                        byte[] downBuffer = new byte[2048];
                        while ((bytesSize = strResponse.Read(downBuffer, 0, downBuffer.Length)) > 0)
                        {
                            strLocal.Write(downBuffer, 0, bytesSize);
                        }
                        strResponse.Close();
                        strLocal.Close();
    đoạn code ghi file vào ổ cứng
    đây là đoạn code gọi nó
    Code:
    for (int i = 0; i < 10; i++)
                        {
                            if (urlPDF[i, 3] != null)
                                if (!objDataBase.checkExist(urlPDF[i, 2], "Tencongvan"))
                                    if (!objDataBase.checkExist(urlPDF[i, 0], "Socongvan"))
                                        if (analysisPath(urlPDF[i, 1], folderName) != "error")
                                        {
                                            //try
                                            //{
                                               
                                                downloadFile(0, objConnection.conversion(urlPDF[i, 3]), analysisPath(urlPDF[i, 1], folderName) + "\\" + stripDiacritics(urlPDF[i, 2]) + urlPDF[i, 5]);
                                                string[] stringInsert = new string[11] { total++.ToString(), urlPDF[i, 0], urlPDF[i, 2], urlPDF[i, 1], urlPDF[i, 1], analysisPath(urlPDF[i, 1], folderName), " ", urlPDF[i, 4], "True", urlPDF[i, 5], folderName };
                                                objDataBase.insertDataPDF(stringInsert);
                                            //}
                                            //catch
                                            //{
                                            //    continue;
                                            //}
                                        }
    đoạn code này được goi bởi hàm
    Code:
    private void time_Tick(object sender, EventArgs e)
            {
                timeCount++;
                if (timeCount == 1)
                {
                    newThreadPdf = new Thread(new ThreadStart(objRefreshWeb.refesh));
                    newThreadPdf.Start();
                }
                if (timeCount == 1000)
                {
                    try
                    {
                        newThreadPdf.IsBackground = true;
                        newThreadPdf.Abort();
                    }
                    catch
                    {
    
                    }
                    timeCount = 0;
                    showPDF();
                }
            }
    mình đang phân vân chỗ hủy thred nó có còn tồn tại cái gì ko vì thread mình đóng đột ngột cứ đến 1000 ms là nó đóng và gọi thread lại
    Giúp mình xem nó bị làm sao với
    Chiến thắng bằng mọi thủ đoạn. Quan trọng là kết quả.

  9. #9
    Ngày gia nhập
    08 2011
    Nơi ở
    Hà Nội | http://ipmac.vn
    Bài viết
    198

    Không hiểu flow của code lắm nhưng đang nghi lắm cái đoạn Timer_Tick.
    Nếu có 1000 tick thì tạo ra 1000 thread à ?
    newThreadPdf = new Thread(new ThreadStart(objRefreshWeb.refesh));

    Cái thứ 2 là bạn truy cập tài nguyên file nhưng lại không có cớ chế đồng bộ hóa thread -> xem lại có khả năng hai cái thread cùng truy cập và xung đột hay chờ lấn nhau không ?
    Bao chàng trai không tiếc tuổi xuân đang viết nhiều chương trình
    Em đẹp xinh cũng quyết lập công chưa muốn lấy chồng
    http://ipmac.vn/ <- Học lập trình ... sư
    http://laptrinh.tv/ <- Kênh chia sẻ video học IT
    http://www.youtube.com/user/anhnt3 <- Video thực hành lập trình... sư từ A-Z

  10. #10
    Ngày gia nhập
    06 2007
    Bài viết
    182

    bạn ơi if(timecount==1) mới gọi thread mới cơ mà chứ có phải tick nào cũng tạo đâu. Với lại mình đã hủy ở timecount =1000 rồi. Nhưng vẫn báo lỗi tớ nghi là cai thread tớ hủy nó vẫn còn bám vào cái file đấy nên mới post lên hỏi mọi người
    Chiến thắng bằng mọi thủ đoạn. Quan trọng là kết quả.

Các đề tài tương tự

  1. Cách add file thư viện dll vào file exe để tạo một file chạy duy nhất C#
    Gửi bởi nthung2112 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 20
    Bài viết cuối: 01-09-2012, 10:01 AM
  2. File backup .bak có dung lương lớn hơn file .mdb và file log
    Gửi bởi MYNAM trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 4
    Bài viết cuối: 27-07-2012, 12:59 PM
  3. Giới thiệu cách chuyển File Ảnh thành file Video trong download proshow gold
    Gửi bởi thuhu0900x trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 3
    Bài viết cuối: 03-07-2012, 03:54 AM
  4. Đọc dữ liệu file midi dạng số HEX và lấy lời nhạc trong file ra file text
    Gửi bởi kimngockhtn_2007 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 29-06-2011, 04:40 PM
  5. Trả lời: 9
    Bài viết cuối: 22-05-2011, 11:29 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn