-
چهارشنبه 12 بهمن 1384, 12:07 عصر
#1
کاربر دائمی
مشکل با تعریف تردها در یک dll
سلام
در یک برنامه که از کلاس Tthread در آن استفاده میشود اگر به صورت فایل exe معمولی اجرا شود هیچ مشکلی وجود ندارد و دقیقا تابع Synchronize جهت به روز آوری رابط کاربر در روال Execute آن کار می کند.
اما اگر این کد درون یک dll قرار گیرد دیگر تابع Synchronize کار نمی کند! چرا؟
اگر تابع Synchronize را حذف کنم dll به خوبی کار میکند ولی بسیار ناپایدار خواهد بود و سبب هنگ برنامه پس از مدتی می شود. (البته بورلند هم توصیه کرده که حتما به روز آوری رابط کاربر بدلیل thread safe نبودن کامپوننتهای VCL باید به همراه Synchronize باشد. اما درون یک dll به چه صورت است؟ و چرا کار نمی کند؟)
با تشکر
قوانین ایجاد تاپیک در تالار
- شما نمی توانید تاپیک جدید ایجاد کنید
- شما نمی توانید به تاپیک ها پاسخ دهید
- شما نمی توانید ضمیمه ارسال کنید
- شما نمی توانید پاسخ هایتان را ویرایش کنید
-
قوانین سایت