PDA

View Full Version : مشکل در استفاده از Thread



Xcalivorse
پنج شنبه 14 شهریور 1387, 14:06 عصر
با سلام.
دوستان من تو برنامه ام می خوام از توی یک تابع که با Thread فراخوانی شده به یکی از Object ها ی روی فرمم دسترسی داشته باشم ولی وقتی می خوام این کارو بکنم Cross thread Exeption میده. توی تاپیک های قبلی جستجو کردم و مواردی که ذکر شده بود به طور واضح توضیح نداده بودند.
اگه میشه لطف کنید توضیح بدید که باید چه کار کنم.

Xcalivorse
پنج شنبه 14 شهریور 1387, 19:51 عصر
یکی نیست جواب بده....

Mahdi.Kiani
پنج شنبه 14 شهریور 1387, 23:41 عصر
در مورد خاصیت InvokeRequired و متد Invoke جسنجو نمایید...
اما به طور ساده، خاصیت مذکور چک می کنه که آیا نیاز به استفاده از متد Invoke می باشد یا خیر.. و زمانی نیاز به این عمل می باشد که فراخواننده (Caller) در Thread ای غیر از Thread ای که کنترل مذکور در آن ایجا د شده است، باشد..



pseudocode
if(Control.invokeRequierd)
{

// requiered invoke method
}
else
{
// work with control normally
}

Amir Oveisi
پنج شنبه 14 شهریور 1387, 23:42 عصر
يه سر به تاپيك 1001 نكته بزنين تو ايندكسش هست

Xcalivorse
جمعه 15 شهریور 1387, 11:13 صبح
میشه با یه مثال توضیح بدید ؟

Amir Oveisi
جمعه 15 شهریور 1387, 14:55 عصر
این تاپیک رو ببینید، توضیح و مثال توش هست.
http://barnamenevis.org/forum/showpost.php?p=474172

موفق باشید
jooje

maalimom
شنبه 16 شهریور 1387, 18:33 عصر
می توانید از تایمر در کنار آن استفاده کنید به صورتی که اگر مقدار متغیر مورد نظر تغییر کرد دستورات زیر تایمر اجرا شود و شما به کنترل مورد نظر دسترسی داشته باشید

موفق باشید

Amir Oveisi
شنبه 16 شهریور 1387, 18:42 عصر
می توانید از تایمر در کنار آن استفاده کنید به صورتی که اگر مقدار متغیر مورد نظر تغییر کرد دستورات زیر تایمر اجرا شود و شما به کنترل مورد نظر دسترسی داشته باشید

موفق باشید

میشه بفرمایین چجوری؟ با یه مثال اگر امکانش هست
ممنون

Xcalivorse
شنبه 16 شهریور 1387, 19:57 عصر
Maalimom جان عزیز با راهنمایی دوستان عزیز من کاملا مشکلم حل شد. از تو هم بسیار ممنون و متشکرم اما استفاده از روش های استاندارد و ساخت یافته برنامه نویسی به مراتب بهتر دیگر روشهاست. بنابراین نیازی نیست که با اضافه کردن تایمر کار را طولانی تر کرد و بار پردازشی و حافظه زیادی را روی فرم گذاشت. استفاده بی جا از آبجکت تایمر به دلیل ارتباطش با تراشه کنترل زمان Cpu برنامه رو زیاد جالب نمیکنه.
با تشکر.