PDA

View Full Version : سوال: راه حلی برای ارور RaceOnRCWcleanup was detected



ostovarit
دوشنبه 24 آبان 1389, 14:37 عصر
بعضی وقتا موقع اجرای برنامه ارور زیر رو میگیرم کسی میدونه دلیلش چیه ؟ ... ( دوباره که اجرا میکنم مشکلی نیست فقط گاهی این ارور نمایش داده میشه)
An attempt has been made to free an RCW that is in use. The RCW is in use on the active thread or another thread. Attempting to free an in-use RCW can cause corruption or data loss.

Amir Oveisi
دوشنبه 24 آبان 1389, 15:14 عصر
سلام
آیا شما تو برنامتون از COM Component ها استفاده کردید؟ یا ActiveX ها؟
و سوال دوم اینکه چه موقعی این خطا اتفاق میفته؟ موقع بستن برنامه؟
لطفا قطعه کدی که در اون این خطا اتفاق میفته + stackCall در اون زمان رو اینجا قرار بدید تا بیشتر بررسی کنیم.

موفق باشید

ostovarit
دوشنبه 24 آبان 1389, 15:45 عصر
سلام
آیا شما تو برنامتون از COM Component ها استفاده کردید؟ یا ActiveX ها؟
و سوال دوم اینکه چه موقعی این خطا اتفاق میفته؟ موقع بستن برنامه؟
لطفا قطعه کدی که در اون این خطا اتفاق میفته + stackCall در اون زمان رو اینجا قرار بدید تا بیشتر بررسی کنیم.

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

با تشکر

Amir Oveisi
دوشنبه 24 آبان 1389, 17:49 عصر
An RCW (Runtime Callable Wrapper) is used when you put an ActiveX component on your form. It handles switching from managed code to ActiveX code.

این خطا معمولا زمانی اتفاق میفته که برنامه شما میخواد یه حافظه ای رو پاک کنه در حالی که اون activeX به اون حافظه نیاز داره و معمولا در زمان خروج از برنامه این اتفاق میفته.
شما stack رو بررسی کردید در زمانی که exception رخ میده ببینین چه متدی در بالای stack قرار داره؟