PDA

View Full Version : گیر کردن برنامه!



mohsen57
شنبه 29 دی 1386, 13:08 عصر
در برنامه من بعد از کلیک کردن روی یک کلید، یک حلقه For شروع به انجام دادن یک کار ساده ولی طولانی می کند بعد از آن برنامه گیر میکنه و نمیشه روی هیچ یک از کلیدها کلیک کرد. بعد از پایان یافتن حلقه همه چیز درست میشه! چجوری میشه این مشکل را حل کرد. من از دستور Sleep هم در حلقه استفاده می کنم. البته چه استفاده کنم چه استفاده نکنم گیر میکنه!

champion
شنبه 29 دی 1386, 14:10 عصر
انتهای حلقه بنویس application.ProcessMessage

SYNDROME
شنبه 29 دی 1386, 15:53 عصر
اگر می خواهی در زمان اجرای حلقه قسمتهای دیگر برنامه نیز فعال باشد باید از Thread استفاده کنی.
کلمه فوق را در سایت جستجو کنید.
موفق باشید

rasool_brn
شنبه 29 دی 1386, 16:20 عصر
از رویداد OnIdle شیء Application هم می تونی استفاده کنی ،ولی بهترین راه همونیه که آقای SYNDROME (http://barnamenevis.org/forum/member.php?u=35868) گفتن.

afshinaghasi
شنبه 29 دی 1386, 21:03 عصر
اگه محتوای حلقت یه چیز ساده هست حتما حلقت مشکل فنی داره

rasool_brn
شنبه 29 دی 1386, 23:34 عصر
اگه محتوای حلقت یه چیز ساده هست حتما حلقت مشکل فنی دارهخیر، محتوای حلقه هر چی که باشه تا پایان یافتن الگوریتم برنامه به هیچ کدام از پیامهای سیستم پاسخ نمی ده .

vcldeveloper
شنبه 29 دی 1386, 23:57 عصر
این مسئله اینقدر شرح و توضیح نداره...
همانطور که در پست دوم گفته شد، در داخل حلقه از Application.ProcessMessage استفاده کن. اگر از نتیجه بدست اومده راضی نبودی و چیزی بیشتر از اون می خوای، درباره Thread مطالعه کن. در این سایت هم بارها درباره اش توضیح داده شده.


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