Silver Soft
کاربر متخصص مولتی مدیا بیلدر
در تاپیکی قدیمی که یکی از کاربران در مورد مشکل حلقه در Thread پرسیده بودن اعلام کرده بودی :
مدتی هست هم جاوید هم خودم درگیر کنکور و کار هستیم و کمتر با هم رابطه داریم ، نمیدونم این مشکل برطرف شده یا نه ولی اگر برطرف نشده باید برطرف بشه ، اون راه حلی که ارائه داده شد یک راه حل خیلی سطحی هست و در برنامه های بزرگتر این مشکل Thread ها میتونه بدجوری دردسر ساز بشه .
ساده ترین مکانیزمی که میتونید پیاده سازی کنید این هست که تو Parser تردها بررسی کنید اگر تو ترد با اشیاء بصری فرم ارتباط برقرار شده بود اون تابع رو به صورت Synchronize شده صدا بزنید تا خود دلفی ترد رو با Context ترد اصلی برنامه همزمان سازی کنه تا مشکلی پیش نیاد .
حتما به اینن مورد رسیدگی کن ...
سلام
اولا اینکه همیشه اینجوری بوده که ارتباط مستقیم thread با عناصر ویژوال مشکلاتی ایجاد میکنه و این از نو آوری های آپاداناست که این مشکل رو تا حدودی حل کرده این پیغام هم زیاد مهم نیست فکر کنم دلیلش اینه که thread وقتی دستور تغییر نوشته رو برای فرم اصلی ارسال میکنه تا میاد کار ترسیم اشیاء و ... که توسط نخ اصلی انجام میشه تموم بشه حلقه یه بار عبور کرده و دوباره دستور تغییر نوشته رو میده که همه چی قاطی میشه. پس راه حل توی این قبیل برنامه ها که for توی نخ به کار برده شده و با اشیاء به طور مداوم کار داره اینه که نوشته رو توی یه متغیر بریزید و توی یه تایمر (که توی نخ اصلی قرار میگیره) عملیات نسبت دادن متغیر به نوشته رو انجام بدید. اینجوری سرعت هم میره بالاتر و کار اضافی انجام نمیشه.
موفق باشید
مدتی هست هم جاوید هم خودم درگیر کنکور و کار هستیم و کمتر با هم رابطه داریم ، نمیدونم این مشکل برطرف شده یا نه ولی اگر برطرف نشده باید برطرف بشه ، اون راه حلی که ارائه داده شد یک راه حل خیلی سطحی هست و در برنامه های بزرگتر این مشکل Thread ها میتونه بدجوری دردسر ساز بشه .
ساده ترین مکانیزمی که میتونید پیاده سازی کنید این هست که تو Parser تردها بررسی کنید اگر تو ترد با اشیاء بصری فرم ارتباط برقرار شده بود اون تابع رو به صورت Synchronize شده صدا بزنید تا خود دلفی ترد رو با Context ترد اصلی برنامه همزمان سازی کنه تا مشکلی پیش نیاد .
حتما به اینن مورد رسیدگی کن ...