تور لحظه آخری
امروز : چهارشنبه ، 23 آبان 1403    احادیث و روایات:  پیامبر اکرم (ص):هرگاه كسى مستحق دوستى خداوند و خوشبختى باشد، مرگ در برابر چشمان او مى آيد و آ...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

صرافی ارکی چنج

صرافی rkchange

سایبان ماشین

دزدگیر منزل

تشریفات روناک

اجاره سند در شیراز

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

پی جو مشاغل برتر شیراز

لوله بازکنی تهران

آراد برندینگ

خرید یخچال خارجی

موسسه خیریه

واردات از چین

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

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

بازسازی ساختمان

طراحی سایت تهران سایت

irspeedy

درج اگهی ویژه

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

درب فریم لس

زانوبند زاپیامکس

روغن بهران بردبار ۳۲۰

قیمت سرور اچ پی

خرید بلیط هواپیما

بلیط اتوبوس پایانه

قیمت سرور dl380 g10

تعمیرات پکیج کرج

لیست قیمت گوشی شیائومی

خرید فالوور

پوستر آنلاین

بهترین وکیل کرج

بهترین وکیل تهران

اوزمپیک چیست

خرید اکانت تریدینگ ویو

خرید از چین

خرید از چین

تجهیزات کافی شاپ

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

بی متال زیمنس

ساختمان پزشکان

ویزای چک

محصولات فوراور

خرید سرور اچ پی ماهان شبکه

دوربین سیمکارتی چرخشی

همکاری آی نو و گزینه دو

کاشت ابرو طبیعی و‌ سریع

الک آزمایشگاهی

الک آزمایشگاهی

خرید سرور مجازی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

لوله و اتصالات آذین

 






آمار وبسایت

 تعداد کل بازدیدها : 1828690534




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

یک سوال مبتدی (thread)


واضح آرشیو وب فارسی:سایت ریسک: mnrhm23-12-2006, 11:12 AMباسلام من یک برنامه دارم که در آن یک thread رو ایجاد می کنم و این ترد یک متد را که در آن یک لوپ است اجرا می کند درون این لوپ هر بار باید یک پیغام داخل تکست باکس روی فرم نمایش داده شود ولی این طور نمی شود یعنی دسترسی به تکست باکسی که در ترد اصلی برنامه ایجاد شده است امکان ندارد؟؟! چطور باید این مشکل را حل کنم مثلا شما یک ترد می سازید که یک لوپ را بی نهایت تکرار می کند و این لوپ باید درون تسکت باکس هر بار عددی را نمایش دهد در ضمن برای این من این کار را می کنم چون اگر ترد اصلی برنامه را بکار بگیرم چیزی داخل تسکت باکس به صورت لحظه ای نمی بینم و باید لوپ تمام شود تا بتوانم آخرین استرینگ داخل تکست باکس را ببینم برای همین بنده یک ترد دیگر ایجاد کرده ام ولی به این مشکل برخورد کرده ام ممنون می شوم اگر راهنمایی کنید با تشکر someone23-12-2006, 11:41 PMسلام. سوالتون اصلا یه سوال مبتدی نیست. کسی که سر و کارش با Thread میافته حداقل یه برنامه نویس متوسط هست. فکر میکنم Category کنترل TextBox شما از نوع value هست. مثلا یه variable از نوع string برای TextBox انتخاب کردید. برای اینکه هر بار بعد از تغییر مقدار این variable بتونید اون رو نمایش بدید باید از UpdateData استفاده کنید. ولی استفاده از این متود در یک Thread به اصطلاح unsafe و میشه گفت خطرناک هست. من دو پیشنهاد برای شما دارم. 1- از متود SetDlgItemText استفاده کنید. یک pointer از DlgClass ایجاد کنید و توسط این اشاره گر از این متود استفاده کنید. (ThreadFunc یه تابع static هست و نمتونید به طور مستقیم از اعضای public کلاس در اون استفاده کنید.) مثلا به این شکل : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! ID کنترل TextBox این عبارت انتخاب شده : IDC_THREAD 2- Category کنترل TextBox رو control انتخاب کنید. و از تابع SetWindowTest استفاده کنید. به شکل زیر : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! m_th از نوع کنترل (از کلاس CEdit) انتخاب شده. اگه مشکلی پیش اومد اطلاع بدید. ممنون. mnrhm24-12-2006, 11:00 AMبا تشکر اگر می شود یک مثال کامل که یک ترد دیگر در یک لوپ داخل تکست باکس هر بار عددی را می نویسد با سی شارپ بزنید و اگر امکان دارد سرس آن را در سایت قرار دهید در ضمن در یک لوپ شما اگر ازمتد آپدیت تکست باکس استفاده کنید درست است که هر بار نمایش می دهد ولی مشکل اصلی اینجاست که شما نمی توانید فرم را تکان دهید و یا اگر بر روی فرم دیگری کلیک کنید و دوباره به فرم بر گردید صفحه فرم سفید می شود و مشکل من هم دقیقا همین است someone24-12-2006, 07:14 PMدوباره سلام. همونطور که گفتم استفاده از UpdateData در یک Threadدرست نیست.( unsafe & dangerous code ) البته این مورد در ++VC هست چون در #C این تابع هر با بعد اجرای Text. اجرا میشه و نیازی به Update کردن کنترل مورد نظر نیست. در مورد متود هایی که صحبت کردیم بر میگرده به MFC . چون نگفته بودید که از چه زبانی استفاده میکنید. NotResponding شدن برنامتون ممکنه به دلیل Thread Priority ی باشه که برای برنامه انتخاب کردید. در #C میتونید از Threading Namespace و Thread Class استفاده و برای priority میتونید از Thread.Sleep استفاده کنید. یه نمونه براتون میذارم اگه مشکلی بود اطلاع بدید. !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! counter اسم کنترل TextBox هست. ممنون. mnrhm27-12-2006, 09:28 AMsomeone عزیز سلام خسته نابشید مشکلم رو حل کردیدببخشید که یکم دیر شد واقعا با وجود انسان هایی مثل شما آدم امید وار میشه انسان هایی که به دیگران کمک می رسانند خدا خیرتون بده ان شاء الله که دایما در حال پیشرفت و در راه موفقیت باشید خدا نگهدارتون باشه mnrhm27-12-2006, 09:35 AMsomeone عزیز سلام خسته نابشید مشکلم رو حل کردیدببخشید که یکم دیر شد واقعا با وجود انسان هایی مثل شما آدم امید وار میشه انسان هایی که به دیگران کمک می رسانند خدا خیرتون بده ان شاء الله که دایما در حال پیشرفت و در راه موفقیت باشید خدا نگهدارتون باشه سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 251]

bt

اضافه شدن مطلب/حذف مطلب




-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن