View Full Version : Application.ProcessMessages دقیقا در چه مواردی استفاده می شود؟
yaas135
دوشنبه 23 آبان 1384, 12:41 عصر
Application.ProcessMessages دقیقا در چه مواردی استفاده می شود؟
ممنونم
یا علی
mzjahromi
دوشنبه 23 آبان 1384, 12:51 عصر
یه وقته که شما یه حلقه دارید که یه کاری رو انجام میده و مثلا 1 دقیقه طول می کشه .اونوقت برنامه تون Not Respond می شه اگه تو این حالت در هر بار اجرای حلقه یک بار Application.ProcessMessages رو کال کنی دیگه برنامه ات Not Respond نمی شه
yaas135
دوشنبه 23 آبان 1384, 13:59 عصر
پس فقط تو حلقه ها به کار می یاد؟
m-khorsandi
دوشنبه 23 آبان 1384, 14:25 عصر
ProcessMessage
وقفه ایی به برنامه در حال اجرا میدهد تا ویندوز بتونه پیغام های موجود در صف رو پردازش کنه، به همین دلیل تا حدی
باعث کند شدن برنامه میشه، اما چون ظاهر برنامه رو حفظ میکنه مورد استقبال قرار گرفته.
محمد میرمصطفی
سه شنبه 24 آبان 1384, 01:19 صبح
ProcessMessage رو فراخوانی کن تا به برنامه اجازه بده که پیغامهایی رو که در حال حاضر تو صف پیغامها هستن رو پردازش کنه. این تابع اونقدر پیغامها رو میخوانه و event های مربوطه رو call میکنه تا تموم بشن، بعدم کنترل رو دوباره به برنامه برمیگردونه.
غفلت از پردازش پیغامها فقط منجر به freez شدن برنامه می شه. و رو سیستم تاثیر نمیزاره.
تو عملهای طولانی (مثلا loop) بهتره که متناوبا call بشه تا پنجره شما سفید نشه و خودشو paint کنه.
این تابع اجازه نمیده که برنامه بیکار بمونه، درحالیکه HandleMessage اجازه میده.
ترجمه راهنمای خود Delphi بود.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.