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

نام تاپیک: خارج شدن از حلقه

  1. #1
    کاربر دائمی آواتار delasaee
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    103

    Question خارج شدن از حلقه

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

    حالا مشکل اینجاس که وقتی حلقه شروع میشه تا حلقه تموم نشده نمیشه توقف رو کلیک کرد
    یعنی یه جورایی سیستم هنگ می کنه تا زمانی که حلقه تموم بشه
    راه حل چیست دوستان؟

  2. #2
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    0x111530EF - 0x11657DA
    پست
    873

    نقل قول: خارج شدن از حلقه

    حلقه ی شما داخل کدوم رویداد شی هست اسم شی رو هم ذکر کنید ؟

  3. #3
    کاربر دائمی آواتار nasim bahari
    تاریخ عضویت
    بهمن 1388
    محل زندگی
    تو دل طوفان
    پست
    427

    نقل قول: خارج شدن از حلقه

    سلام........

    راه درست اینه که شما شمارنده حلقه رو درون حلقه تغییر ندین........

    راه حل :

    شما از یه متغییر بولین ( این متغییر Public باشه ) استفاده کنید که با زدن دکمه Stop یا Cancel مقدار اون False بشه و در درون حلقه این متغییر رو چک کنین که اگر برابر False بود از حلقه با استفاده از دستور زیر خارج بشه.....

    Exit For


    موفق باشین

  4. #4
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    0x111530EF - 0x11657DA
    پست
    873

    نقل قول: خارج شدن از حلقه

    ببین نسیم خانوم روشی که گفتین کار بردی هست اما اگه حلقه به تو مثال داخل فورم لود باشه تا تموم شدن حلقه امکان خارج شدن از اون نیست..

  5. #5
    کاربر دائمی آواتار delasaee
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    103

    نقل قول: خارج شدن از حلقه

    نقل قول نوشته شده توسط Saman_12 مشاهده تاپیک
    حلقه ی شما داخل کدوم رویداد شی هست اسم شی رو هم ذکر کنید ؟
    من از کامپوننت dotnetbar استفاده می کنه
    حلقه تو رویداد buttonitem کلیک هست




    نقل قول نوشته شده توسط nasim bahari مشاهده تاپیک
    سلام........

    راه درست اینه که شما شمارنده حلقه رو درون حلقه تغییر ندین........

    راه حل :

    شما از یه متغییر بولین ( این متغییر Public باشه ) استفاده کنید که با زدن دکمه Stop یا Cancel مقدار اون False بشه و در درون حلقه این متغییر رو چک کنین که اگر برابر False بود از حلقه با استفاده از دستور زیر خارج بشه.....

    Exit For
    موفق باشین

    منم همین کارو کردم
    ولی قضیه اینه که اصلاً برنامه هنگ میکنه نمیتونم دکمه توقف رو کلیک کنم

  6. #6
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    0x111530EF - 0x11657DA
    پست
    873

    نقل قول: خارج شدن از حلقه

    بهتره از حلقتون توی یک تایمر استفاده کنید توی حلقه تون هم چک کنید که آیا متغییر مقدار True داره یا نه و آخر تایمر هم Enabled تایمر رو False کنید. وتوی اون باتون که قراره حلقه رو استوپ کنه مقدار متغییر را True قرار دهید .(البته بعید میدونم درست شه چون وقتی فورم هنگ میکنه دیگه ....)
    آخرین ویرایش به وسیله Saman_12 : دوشنبه 11 مرداد 1389 در 20:30 عصر

  7. #7
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    0x111530EF - 0x11657DA
    پست
    873

    نقل قول: خارج شدن از حلقه

    یافتم یافتم .جواب رو یافتم!!!
    اصلا تایمر و متغییر رو فرا موش کن!
    اگه می خواین توی حلقه های طولانی برنامه هنگ نکنه اولین چیزی که توی حلقه تون می نویسین باید کد زیر باشه :
    Application.DoEvents()

    زحمتش مال جناب Mani_rf هست.
    آخرین ویرایش به وسیله Saman_12 : دوشنبه 11 مرداد 1389 در 21:36 عصر

  8. #8
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: خارج شدن از حلقه

    کد:
    Application.DoEvents()
    زود پاکش کن تا بچه کار درست ها حالتو نگرفتن.

    روش بهتر اینه که از یه backgroundworker استفاده کنید.یا اینکه بگید چه پردازشی داره انجام میشه.

  9. #9
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    0x111530EF - 0x11657DA
    پست
    873

    نقل قول: خارج شدن از حلقه

    ببین دوست عزیز من خودم این کد رو چند وقت پیش توی یه تایپک توی همین سایت دیدم.(یادم نبود که از اون تایپیک یه فایل Html ذخیره کرده ام.زحمت این کد رو هم جاب Mani_rf کشیده بودن و مطلبش هم مرتبط با حلقه های طولانی بود که با عث هنگ کردن فورم میشه.بعید میدونم ای شون تازه کار باشن؟!)
    درمورد BakgrounWorker هم یه توضیح میدادین بد نبود!بود؟؟

  10. #10
    کاربر تازه وارد آواتار mohammad.moosaei
    تاریخ عضویت
    مهر 1388
    محل زندگی
    kernel32.dll
    سن
    36
    پست
    79

    نقل قول: خارج شدن از حلقه

    نقل قول نوشته شده توسط Saman_12 مشاهده تاپیک
    ببین دوست عزیز من خودم این کد رو چند وقت پیش توی یه تایپک توی همین سایت دیدم.(یادم نبود که از اون تایپیک یه فایل Html ذخیره کرده ام.زحمت این کد رو هم جاب Mani_rf کشیده بودن و مطلبش هم مرتبط با حلقه های طولانی بود که با عث هنگ کردن فورم میشه.بعید میدونم ای شون تازه کار باشن؟!)
    درمورد BakgrounWorker هم یه توضیح میدادین بد نبود!بود؟؟

    بهترین کار اینه که از یک بند پردازش جدا استفاده کنی تا کاری به بقیه پروسس ها نداشته باشه :


    راه حل من برای مشکل شما اینه که فکر کنم بهترین راه حل باشه و منطقی هم هست :

    این کد کارتون رو راه میندازه و به هیچ وجهه برنامتون گیر نمی کنه و میتونید همزمان چند کا رو با هم انجام بدید :


    Private threadMain As System.Threading.Thread

    Private Sub yourSub()

    While (True)

    'your Code...

    End While

    End Sub

    Private Sub StartButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StartButton.Click

    Me.threadMain = New System.Threading.Thread(AddressOf yourSub)
    Me.threadMain.Start()

    End Sub

    Private Sub CancelButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CancelButton.Click

    Me.threadMain.Abort()

    End Sub

  11. #11
    کاربر دائمی آواتار delasaee
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    103

    نقل قول: خارج شدن از حلقه

    نقل قول نوشته شده توسط Saman_12 مشاهده تاپیک
    یافتم یافتم .جواب رو یافتم!!!
    اصلا تایمر و متغییر رو فرا موش کن!
    اگه می خواین توی حلقه های طولانی برنامه هنگ نکنه اولین چیزی که توی حلقه تون می نویسین باید کد زیر باشه :
    Application.DoEvents()
    زحمتش مال جناب Mani_rf هست.
    من این کد رو امتحان کردم ولی همچنان هنگ می کنه
    پردازشی که تو حلقه انجام میشه تصاویر رو از تو یه فولدر می خونه و گزینه هایی که تو عکس تیک خورده رو بر می گردونه

  12. #12
    کاربر دائمی آواتار delasaee
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    103

    نقل قول: خارج شدن از حلقه

    نقل قول نوشته شده توسط mohammad.moosaei مشاهده تاپیک
    بهترین کار اینه که از یک بند پردازش جدا استفاده کنی تا کاری به بقیه پروسس ها نداشته باشه :


    راه حل من برای مشکل شما اینه که فکر کنم بهترین راه حل باشه و منطقی هم هست :

    این کد کارتون رو راه میندازه و به هیچ وجهه برنامتون گیر نمی کنه و میتونید همزمان چند کا رو با هم انجام بدید :


    Private threadMain As System.Threading.Thread

    Private Sub yourSub()

    While (True)

    'your Code...

    End While

    End Sub

    Private Sub StartButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StartButton.Click

    Me.threadMain = New System.Threading.Thread(AddressOf yourSub)
    Me.threadMain.Start()

    End Sub

    Private Sub CancelButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CancelButton.Click

    Me.threadMain.Abort()

    End Sub

    آقا دستت درد نکنه معلومه این کد همونه که من می خوام
    فقط من دارم از کامپوننت image xpress استفاده می کنم که این ارور رو میده وقتی از thread استفاده می کنم

    یه سوال دیگه این خط end sub نداره؟

    Private threadMain As System.Threading.Thread
    عکس های ضمیمه عکس های ضمیمه
    • نوع فایل: jpg 1.jpg‏ (11.6 کیلوبایت, 29 دیدار)

  13. #13
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    0x111530EF - 0x11657DA
    پست
    873

    نقل قول: خارج شدن از حلقه

    از mohammad.moosaei خیلی متشکرم راه حل جالبی ارائه دادند از کد شون استفاده بردیم.
    یه سوال دیگه این خط end sub نداره؟

    Private threadMain As System.Threading.Thread
    تو اونجایی که من میدونم این یک Sub نیست که بخواد End Sub داشته باشه کاربرد کلمه Private توی این کد مثل کلمه Dim هستش(اگه باور ندارید می تونید جای Private از کلمه Dim استفاده کنید)

  14. #14
    کاربر دائمی آواتار delasaee
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    103

    نقل قول: خارج شدن از حلقه

    برای اون ارور راه حلی ندارید؟

  15. #15
    کاربر دائمی آواتار mahdi1373
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    Shahid Beheshti Developer Center
    پست
    278

    نقل قول: خارج شدن از حلقه

    نقل قول نوشته شده توسط FastCode مشاهده تاپیک
    زود پاکش کن تا بچه کار درست ها حالتو نگرفتن.

    روش بهتر اینه که از یه backgroundworker استفاده کنید.یا اینکه بگید چه پردازشی داره انجام میشه.
    من با این کد کار می کنم، تا حالا هم هیچ مشکلی نداشتم. به نظرم خیی هم خوب کار می کنه. اگه ممکنه دلیل مخالفتتون رو بگین.

  16. #16
    کاربر دائمی آواتار delasaee
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    103

    نقل قول: خارج شدن از حلقه

    پس از ساعت ها جستجو بالاخره یافتم راه حل اون ارورو


    Control.CheckForIllegalCrossThreadCalls = False
    Me.threadMain2 = New System.Threading.Thread(AddressOf yourSub)
    Me.threadMain2.Start()
    Control.CheckForIllegalCrossThreadCalls = False
    این یه خط رو اضافه کردم ولی اصلاً نمیدونم چیکار می کنه
    ولی برنامه داره خیلی خوب کار میکنه انگار نه انگار داره یه حلقه طولانی پردازش میشه
    جالب اینه که بعد از توقف دوباره شروع رو میزنم ادامه حلقه رو ادامه می ده

  17. #17
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: خارج شدن از حلقه

    برای جلوگیری از خطا باید از Control.Invoke استفاده کنید.

  18. #18
    کاربر جدید آواتار VB.NET 2010
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    Computer
    سن
    36
    پست
    20

    نقل قول: خارج شدن از حلقه

    فکر کنم اینطوری خیلی ساده و راحت باشه
    یه متغیر public بولین تعریف کن و قبل از شروع حلقه true باشه و توی حلقه از doevents استفاده کن و بررسی کن اگه متغیر false شد از حلقه خارج بشه exit for
    یه کامند واسه false کردن هم بذار

  19. #19

    نقل قول: خارج شدن از حلقه

    نقل قول نوشته شده توسط FastCode مشاهده تاپیک
    برای جلوگیری از خطا باید از Control.Invoke استفاده کنید.
    توی این سورس به طور کامل این کار آموزش داده شده
    فایل های ضمیمه فایل های ضمیمه

  20. #20
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    0x111530EF - 0x11657DA
    پست
    873

    نقل قول: خارج شدن از حلقه

    نقل قول نوشته شده توسط delasaee مشاهده تاپیک
    من این کد رو امتحان کردم ولی همچنان هنگ می کنه
    پردازشی که تو حلقه انجام میشه تصاویر رو از تو یه فولدر می خونه و گزینه هایی که تو عکس تیک خورده رو بر می گردونه
    دوست عزیز VB.NET 2010 مثل اینکه شما پست بالا رو نخوندین!

  21. #21
    کاربر دائمی آواتار delasaee
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    103

    نقل قول: خارج شدن از حلقه

    نقل قول نوشته شده توسط Saman_12 مشاهده تاپیک
    دوست عزیز VB.NET 2010 مثل اینکه شما پست بالا رو نخوندین!
    متوجه نمیشم؟
    یعنی اون کدی که دادید فقط تو 2010 کار میکنه؟
    من ندیدم جایی گفته باشید 2010

  22. #22
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    0x111530EF - 0x11657DA
    پست
    873

    نقل قول: خارج شدن از حلقه

    نه اشتباه نکنید من با کاربر VB.net 2010 بودم!

  23. #23
    کاربر دائمی آواتار mahdi1373
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    Shahid Beheshti Developer Center
    پست
    278

    نقل قول: خارج شدن از حلقه

    من فکر می کنم اشکال شما با
    Application.DoEvents()


    اینه که شما شما این کد رو فقط یکبار می زنید. توجه داشته باشید که شما باید این کد رو درون درونی ترین حلقه تون بزارین تا مرتب اجرا بشه. در این صورت بعید می دونم که بازم هنگ کنه.

  24. #24
    کاربر تازه وارد آواتار mohammad.moosaei
    تاریخ عضویت
    مهر 1388
    محل زندگی
    kernel32.dll
    سن
    36
    پست
    79

    نقل قول: خارج شدن از حلقه

    نقل قول نوشته شده توسط delasaee مشاهده تاپیک
    آقا دستت درد نکنه معلومه این کد همونه که من می خوام
    فقط من دارم از کامپوننت image xpress استفاده می کنم که این ارور رو میده وقتی از thread استفاده می کنم

    یه سوال دیگه این خط end sub نداره؟

    Private threadMain As System.Threading.Thread
    سلام دوباره و ببخشید اگه دیر شد اخه Net در دسترسم نبود :

    دوست عزیز اگه شما توی تابعی که توسط Thread اجرا میشه بخواهید به خاصیتهای کنترلهای دیگه مقدار بدید مثلا image یک PicBox رو عوض کنید باید اونو توی یک delegate فراخوانی کنید :

    مثلا من توی مثال زیر اعداد رو توی یک TextBox نشون میدم و برای اضافه کردن اعداد توی TextBox باید یک Delegate بنویسم چون دارم خاصیت یک کنترل رو تغییر میدم که خودش از یک Thread جدا استفاده میکنه :


    Private threadMain As System.Threading.Thread

    Private Delegate Sub Add_Safe(ByVal value As String)

    Private Sub Add(ByVal value As String)

    TextBox1.Text = value

    End Sub

    Private Sub ShowNumbers()

    For i As Integer = 0 To 1000000

    Dim dlgate As New Add_Safe(AddressOf Add)
    Me.Invoke(dlgate, i.ToString)

    System.Threading.Thread.Sleep(500)

    Next

    End Sub


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Me.threadMain = New System.Threading.Thread(AddressOf ShowNumbers)
    threadMain.Start()

    End Sub



    پس شما هم اگه میخواین خاصیت کنترلی رو تغییر بدید باید برای اون یک تابع جدا و یک Delegate که دارای پارامتر ورودی مشابه با تابع مورد نظر باشه رو تعریف کنید .

    اگر هم مشکلی بود کد رو بزارید تا درستش کنم .


    راستی اون خطی رو هم که گفتی end sub نداره من فقط یک نتغیر از نوع thread تعریف کردم .


    یا علی
    آخرین ویرایش به وسیله mohammad.moosaei : پنج شنبه 14 مرداد 1389 در 20:16 عصر

  25. #25
    کاربر دائمی آواتار delasaee
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    103

    نقل قول: خارج شدن از حلقه

    نقل قول نوشته شده توسط mohammad.moosaei مشاهده تاپیک
    سلام دوباره و ببخشید اگه دیر شد اخه Net در دسترسم نبود :

    دوست عزیز اگه شما توی تابعی که توسط Thread اجرا میشه بخواهید به خاصیتهای کنترلهای دیگه مقدار بدید مثلا image یک PicBox رو عوض کنید باید اونو توی یک delegate فراخوانی کنید :

    مثلا من توی مثال زیر اعداد رو توی یک TextBox نشون میدم و برای اضافه کردن اعداد توی TextBox باید یک Delegate بنویسم چون دارم خاصیت یک کنترل رو تغییر میدم که خودش از یک Thread جدا استفاده میکنه :


    Private threadMain As System.Threading.Thread

    Private Delegate Sub Add_Safe(ByVal value As String)

    Private Sub Add(ByVal value As String)

    TextBox1.Text = value

    End Sub

    Private Sub ShowNumbers()

    For i As Integer = 0 To 1000000

    Dim dlgate As New Add_Safe(AddressOf Add)
    Me.Invoke(dlgate, i.ToString)

    System.Threading.Thread.Sleep(500)

    Next

    End Sub


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Me.threadMain = New System.Threading.Thread(AddressOf ShowNumbers)
    threadMain.Start()

    End Sub



    پس شما هم اگه میخواین خاصیت کنترلی رو تغییر بدید باید برای اون یک تابع جدا و یک Delegate که دارای پارامتر ورودی مشابه با تابع مورد نظر باشه رو تعریف کنید .

    اگر هم مشکلی بود کد رو بزارید تا درستش کنم .


    راستی اون خطی رو هم که گفتی end sub نداره من فقط یک نتغیر از نوع thread تعریف کردم .


    یا علی
    ممنون دوست عزیز
    من مجبور شدن 6 تا delegateتعریف کنم و مشکلم حل شده
    ولی سرعت پردازش حلقه تقریباً 1/3 شده و حلقه کند کار می کنه
    این مشکل برای چی هست؟

  26. #26
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: خارج شدن از حلقه

    نقل قول نوشته شده توسط VB.NET 2010 مشاهده تاپیک
    فکر کنم اینطوری خیلی ساده و راحت باشه
    یه متغیر public بولین تعریف کن و قبل از شروع حلقه true باشه و توی حلقه از doevents استفاده کن و بررسی کن اگه متغیر false شد از حلقه خارج بشه exit for
    یه کامند واسه false کردن هم بذار
    به جای این کار میتونه ازThread.Join یا یک عدد waithandle استفاده کنه.
    نقل قول نوشته شده توسط delasaee مشاهده تاپیک
    پس از ساعت ها جستجو بالاخره یافتم راه حل اون ارورو


    Control.CheckForIllegalCrossThreadCalls = False
    Me.threadMain2 = New System.Threading.Thread(AddressOf yourSub)
    Me.threadMain2.Start()
    Control.CheckForIllegalCrossThreadCalls = False
    این یه خط رو اضافه کردم ولی اصلاً نمیدونم چیکار می کنه
    ولی برنامه داره خیلی خوب کار میکنه انگار نه انگار داره یه حلقه طولانی پردازش میشه
    جالب اینه که بعد از توقف دوباره شروع رو میزنم ادامه حلقه رو ادامه می ده
    این کار غلطه.بهتره از همون Control.Invoke استفاده کنید.
    نقل قول نوشته شده توسط mahdi1373 مشاهده تاپیک
    من با این کد کار می کنم، تا حالا هم هیچ مشکلی نداشتم. به نظرم خیی هم خوب کار می کنه. اگه ممکنه دلیل مخالفتتون رو بگین.
    what is the Problem with Application.DoEventsتوی گوگل سرچ کن:

    نقل قول نوشته شده توسط delasaee مشاهده تاپیک
    ممنون دوست عزیز
    من مجبور شدن 6 تا delegateتعریف کنم و مشکلم حل شده
    ولی سرعت پردازش حلقه تقریباً 1/3 شده و حلقه کند کار می کنه
    این مشکل برای چی هست؟
    شما میتونید اون Sleepرو حذف کنید یا این که با یه ترد دیگه Image ها رو توی یه Circular Buffer که برای همین کار ابداع شده بریزید و از سرعت بیشتر از قبل لذت ببرید.

  27. #27
    کاربر دائمی آواتار delasaee
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    103

    نقل قول: خارج شدن از حلقه

    نقل قول نوشته شده توسط FastCode مشاهده تاپیک


    شما میتونید اون Sleepرو حذف کنید یا این که با یه ترد دیگه Image ها رو توی یه Circular Buffer که برای همین کار ابداع شده بریزید و از سرعت بیشتر از قبل لذت ببرید.

    ممنون دوست عزیز مشکلم با حذف sleep حل شد

    کار sleep چی هست؟

  28. #28
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: خارج شدن از حلقه

    نقل قول نوشته شده توسط delasaee مشاهده تاپیک
    ممنون دوست عزیز مشکلم با حذف sleep حل شد

    کار sleep چی هست؟
    sleep یعنی این:
    http://en.wikipedia.org/wiki/Sleep
    شما به برنامه گفته بودی که بین هر عمل نیم ثانیه صبر کن.

  29. #29
    کاربر دائمی آواتار delasaee
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    103

    نقل قول: خارج شدن از حلقه

    نقل قول نوشته شده توسط FastCode مشاهده تاپیک
    sleep یعنی این:
    http://en.wikipedia.org/wiki/Sleep
    شما به برنامه گفته بودی که بین هر عمل نیم ثانیه صبر کن.
    خب اون دوستمون که این کد رو گذاشته برای چی این کارو کرده
    آیا لازمه بین هر عمل مقداری صبر کرد یا هیچ فرقی نمی کنه؟

  30. #30
    کاربر تازه وارد آواتار mohammad.moosaei
    تاریخ عضویت
    مهر 1388
    محل زندگی
    kernel32.dll
    سن
    36
    پست
    79

    نقل قول: خارج شدن از حلقه

    نقل قول نوشته شده توسط delasaee مشاهده تاپیک
    ممنون دوست عزیز
    من مجبور شدن 6 تا delegateتعریف کنم و مشکلم حل شده
    ولی سرعت پردازش حلقه تقریباً 1/3 شده و ‎
    حلقه کند کار می کنه
    این مشکل برای چی هست؟
    سلام :‎
    دوست من قسمت thread.sleep
    رو پاک کن . این برای تنظیم سرعت بر حسب ms هستش. اگه اینو برداری با آخرین سرعت کار میکنه و مشکلت حل میشه.

  31. #31
    کاربر دائمی آواتار delasaee
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    103

    نقل قول: خارج شدن از حلقه

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

    مشکل از کجای کارمه بنظر شما؟

  32. #32
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: خارج شدن از حلقه

    از Control.Invoke استفاده کردید یا پشت گوش انداختید.
    احتمال میدم برای همین باشه.

  33. #33
    کاربر دائمی آواتار delasaee
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    103

    نقل قول: خارج شدن از حلقه

    نقل قول نوشته شده توسط FastCode مشاهده تاپیک
    از Control.Invoke استفاده کردید یا پشت گوش انداختید.
    احتمال میدم برای همین باشه.
    من از delegate استفاده کردم

    امکان داره یکم بیشتر توضیح بدید چطوری از control.invoke استفاده کنم

    من سرچ زدم ولی نتونستم بفهمم کجا باید استفاده کرد

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

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