نمایش نتایج 1 تا 7 از 7

نام تاپیک: ایجاد وقفه در انجام یک دستور

  1. #1
    کاربر جدید آواتار $M03N$
    تاریخ عضویت
    تیر 1389
    محل زندگی
    اصفهان
    پست
    24

    ایجاد وقفه در انجام یک دستور

    سلام به اساتید و حضار محترم و محترمه :D
    من می خوام در اجرای یک دستور وقفه ایجاد کنم، اما نمی خوام کل پروژه اسلیپ بشه

    برنامه من در حال استفاده از یک فایل است، می خوام تا هنگام free شدن اون فایل، دستورات بعدی به تاخیر بیفته
    یعنی یسری کد هست، که دارن از یک فایل استفاده می کنن، چند خط بعد باز دوباره بایست از اون فایل استفاده بشه، اما اررور میزنه که فایل در حال استفاده است

    به نظر شما را حل چیه ؟ ممنون میشم کمک کنید

  2. #2

    نقل قول: ایجاد وقفه در انجام یک دستور

    نمونه كدش رو هم بذار ببينيم.
    اگه ترد كار با فايلت در يكي ديگه باشه و ترد رو sleep كني به ترد اصلي لطمه اي نميزنه و تاخير هم به وجود مياد


  3. #3
    کاربر جدید آواتار $M03N$
    تاریخ عضویت
    تیر 1389
    محل زندگی
    اصفهان
    پست
    24

    Post نقل قول: ایجاد وقفه در انجام یک دستور

    این کدشه، این کد تو یک حلقست، مدام داره اجرا میشه، نظر بدین
    همینطور که میبینید، هر دو کد در یک قسمت، پس نمیشه با ترد اسلیپ کار کرد



    try
    {

    System.IO.File.Copy(FileAdd, Path.ChangeExtension(FileAdd, "tmp"),true);


    Attachment item = new Attachment(Path.ChangeExtension(FileAdd, "tmp"));
    message.Attachments.Add(item);
    try
    {
    item.Dispose();
    }
    load_file();
    MessageBox.Show("Successfully");
    catch (Exception)
    {
    MessageBox.Show("Faild");
    item.Dispose();
    }
    }
    catch (Exception exception)
    {
    MessageBox.Show(exception.Message);

    }


  4. #4

    نقل قول: ایجاد وقفه در انجام یک دستور

    يعني مادامي كه فايل داره كپي ميشه دستور بعدي شما اجرا ميشه كه خلل ايجاد ميكنه در اجراي برنامه. درسته؟
    ميتوني ترد رو بخوابوني و بعد از چند ثانيه دوباره چك كني كه فايل آزاده يا نه. اگه هست كه كار بعدي رو روش انجام بده وگرنه دوباره بخوابونش

  5. #5
    کاربر جدید آواتار $M03N$
    تاریخ عضویت
    تیر 1389
    محل زندگی
    اصفهان
    پست
    24

    نقل قول: ایجاد وقفه در انجام یک دستور

    دقیقا، یجا می خواد این فایل را بخونه، از اون طرف می خواد دوباره کپیش کنه، باست یه فرجه بهش بدیم که فایل خونده بشه، بعد بریم دوباره سروقت کپی کردنش
    نه، با ترد خوابوندن حل نمیشه
    اصلا راهی هست که بشه فهمید فایل آزاده یا نه؟؟؟ با کد نویسی ؟؟؟ اگه باشه که با یه if حله
    به نظرت راه دیگه ای هم هست ؟؟؟

  6. #6

    نقل قول: ایجاد وقفه در انجام یک دستور

    حتما هست ولي الآن من نميدونم.
    ناچارا همون try Catch هم همين كارو ميكنه برات. اگه catch شد يعني نتونسته(همون if كه گفتي حله)

  7. #7
    کاربر جدید آواتار $M03N$
    تاریخ عضویت
    تیر 1389
    محل زندگی
    اصفهان
    پست
    24

    نقل قول: ایجاد وقفه در انجام یک دستور

    دنبال یه راه اساسی هستم بازم ممنون

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •