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

نام تاپیک: وقتی برنامه در حال اجرای یک عمل است عمل دیگری انجام نمی دهد

  1. #1

    Thumbs down وقتی برنامه در حال اجرای یک عمل است عمل دیگری انجام نمی دهد

    با سلام
    چرا وقتی برنامه تو یه حلقه که مثلا" چند دقیقه کارش طول می کشد است اگر روی دکمه دیگری کلیک کنیم کار نمی کند؟

  2. #2
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    تبریز
    پست
    35

    نقل قول: وقتی برنامه در حال اجرای یک عمل است عمل دیگری انجام نمی دهد

    شما باید از تکنیک چند نخی (Multi-threading) استفاده کنید. باید یک Thread درست کنید و پردازش های سنگین را داخل آن راه بیاندازید.
    به صورت پیشفرض برنامه شما تنها یک نخ داره. نخ ها به صورت موازی با هم کار می کنند. کار نکردن فرم شما وقتی که هنوز پردازشی انجام می شه هم به این دلیله که همه ی کاراتون رو نخ پیشفرض انجام می ده.

  3. #3

    نقل قول: وقتی برنامه در حال اجرای یک عمل است عمل دیگری انجام نمی دهد

    تاپيك زير رو ببينيد : https://barnamenevis.org/showthread.php?t=109257

  4. #4

    نقل قول: وقتی برنامه در حال اجرای یک عمل است عمل دیگری انجام نمی دهد

    میشه بگین الان به این کد چی اضافه کنم که گیر نکنه و در حین اجرای این حلقه دکمه های دیگه هم کار کنند؟

  5. #5

    نقل قول: وقتی برنامه در حال اجرای یک عمل است عمل دیگری انجام نمی دهد

    اگر فقط ميخواهيد در زمان اجراي حلقه بتوانيد با ساير اجزاي فرم كار كنيد كد زير را درون حلقه اضافه كنيد :
    Application.DoEvents();

  6. #6

    نقل قول: وقتی برنامه در حال اجرای یک عمل است عمل دیگری انجام نمی دهد

    از راهنماییتون ممنون بهتر شد تو اجرای دوباره حلقه به دکمه های دیگه توجه می کنه اما چون یکی از کارهایی هم که توی حلقه وجود دارد زمان بر است باز به اون که می رسه گیر می کنه
    اون فیلم هایی هم که لینک دادین دانلود کردم اما انقدر صدای گوینده نا مفهوم بود و تند تند حرف می زد چیزی نفهمیدم آخه بعضی چیزاشم توضیح نداده بود و فقط می گفت این کد رو به این شکل می نویسیم

    چیزی که از bgworker فهمیدم اینه که اون چیزی که زمان بر هست را توی یه تابع می نویسیم
    سپس روی دکمه ای که می خواهیم کار تابع را آغار کند به جای اینکه تابع را صدا بزنیم bg را صدا می زنیم
    اما از اینجا به بعدش مفهوم نبود
    مثلا" اینکه تابع من void هست و آرگومانی نمی گیرد و bg که می خواهم صدا بزنم هم نمی خواهم آرگومان بگیرد اما بعد باید یه چیزی به resultesh بفرستم که نمیشه

  7. #7

    Thumbs down نقل قول: وقتی برنامه در حال اجرای یک عمل است عمل دیگری انجام نمی دهد

    اصلا" یه برنامه کوچولو نوشتم که اینجا بذارم ببینید چطوری میشه درستش کرد
    فایل 1.rar کار می کنه اما طول می کشه و همه چیز از کار می افته
    فایل 2.rar شبیه چیزی که تو فیلم و یه تایک دیگه دیده بودم در مورد bgworker تغییرش دادم و دیگه کار نمی کنه
    حالا شما حداقل تغییرات را روی فایل 2 بدهید تا کار کنه

    برای اجرا هم اول دکمه 2 را زده و از شاخه ویندوز فولدر Help را انتخاب کنید سپس دکمه 1 را بزنید
    فایل های ضمیمه فایل های ضمیمه
    • نوع فایل: rar 2.rar‏ (31.4 کیلوبایت, 18 دیدار)
    • نوع فایل: rar 1.rar‏ (30.8 کیلوبایت, 19 دیدار)

  8. #8

    نقل قول: وقتی برنامه در حال اجرای یک عمل است عمل دیگری انجام نمی دهد

    این یکی رو هم خواستم با thread درستش کنم اما بعد از انجام کار دکمه 2 وقتی دکمه 1 را می زنم از برنامه می پره بیرون
    فایل های ضمیمه فایل های ضمیمه
    • نوع فایل: rar 3.rar‏ (30.3 کیلوبایت, 12 دیدار)

  9. #9

    نقل قول: وقتی برنامه در حال اجرای یک عمل است عمل دیگری انجام نمی دهد

    کسی فایل ها رو دید؟

  10. #10

  11. #11

    نقل قول: وقتی برنامه در حال اجرای یک عمل است عمل دیگری انجام نمی دهد

    فایل رو دیدم اما کار نمی کرد اما همون فایل 3 که گذاشته بودم درست بود ولی از تو خود دات نت می پرید بیرون که نمی دونم چرا اما بعد که فایل exasho باز می کنم همه چی درست کار می کنه
    اما کار با bgworkero میشه یکی ساده توضیح بده؟

  12. #12

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

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