PDA

View Full Version : مقاله: راه های رفع خطای HRESULT E_FAIL has been returned from a call to a COM component



حسین.کاظمی
جمعه 04 فروردین 1396, 00:19 صبح
با سلام به همگی

من چند وقتی است که در گیر یک پروژه (ویندوزی)هستم و در این پروژه به خیلی از خطاها برخورد کردم که به لطف برخی از دوستان همین سایت مشکل را رفع کردیم و دست تک تکشون را میبوسم بابت وقتی که در اختیار من گذاشتند:تشویق::قلب:


چند شب پیش درون پروژه ام میخاستم از یک کامپوننت دانلود شده از یک سایت خارجی استفاده کنم که به خطای HRESULT E_FAIL has been returned from a call to a COM component برخوردم:ناراحت: و تمام فرم هام محیط طراحیش باز نمیشد(طبق عکس زیر)؛

144744




خیلی سعی و تلاش کردم تا بتونم رفعش کنم ولی نشد......


دوستانی که از کامپوننت استفاده می کنند این تاپیک را بخونند


شاید برای شما هم پیش اومده باشه که بر اثر استفاده از یک کامپوننت آماده یا کامپوننتی که خودتون ایجاد کردید موقع استفاده ازش به خطا برخورد کنید....برای حل مشکل اولین کاری که میکنید حذف کردن اون کامپوننت از refrences هاتون ویا حرف کردن خود فرم است منم همین کار را کردم ولی مشکل پابرجا بود....دیگه دست به دامان سایت های غیر ایرانی شدم از 5الی6 سایتی که من خودم خوندم برای رفع این مشکل راه حل های زیر را پیشنهاد می دادند.....که در ادامه به آموزش برخی از این راه حل ها برای رفع مشکل می پردازم و در آخر هم راه ساده رفع مشکل را میگم....:لبخند:

1- حذف کامپوننت مورد نظر از جعبه ابزار ها و refrence ها
2- رجیستر کردن فایل های خود ویژوال
3-خالی کردن حافظه پنهان(Cache) ویژوال
4- دستکاری کردن فایل های مربوطه با نرم افزارهایی مثل ******resource
5- فعال کردن استفاده از کامپوننتها از طریق component service ویندوز


آموزش

1- را که همه ی دوستان میدونند چجوری پس میریم مرحله بعد

2- در Run ویندوز دستورات زیر را مینوسیم

- برای کسانی که ویندوزشون 32بیتی است دستور زیر را اجرا کنند و در نهایت ok بزنند
Start—>Run—> regsvr32 %SystemRoot%\System32\msxml3.dll
-برای کسانی که ویندوزشون 64بیتی است دستور زیر را اجرا کنند و در نهایت ok بزنند
Start—>Run—> regsvr32 %SystemRoot%\SysWOW64\msxml3.dll

3- از مسیر های زیر (بستگی به 32،64بیتی ویندوزداره) محتوای پوشه ذکر شده را پاک کنید


C:\Program Files\Microsoft Visual Studio *.0\Common7\IDE\ProjectTemplatesCache
C:\Program Files(x86)\Microsoft Visual Studio *.0\Common7\IDE\ProjectTemplatesCache


پس از حذف محتوای پوشه، مسیر زیر را رفته و پروژه مورد نظر را باز کرده و یکبارrebuild کنید(ان شاء الله مشکل حل بشه)

Start—>Run—> C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe /setup

اگر با /setup ویژوال باز نشد با safemode/ یا resetsettings/ وارد بشید

4- از آموزش دادنش معذورم:لبخند:

5- مسیر start --------->component service و طبق عکس های زیر تنظیمات را انجام بدهید

* لازم بذکر این تنظیمات بیشتر برای پروژه های تحت وب است

http://www.codepartners.com/Portals/0/Images/blog%20images/7-25image4.png

http://www.codepartners.com/Portals/0/Images/blog%20images/7-25image5.png
http://www.codepartners.com/Portals/0/Images/blog%20images/7-25image6.png

خب آموزش تمام شد
اگر تمام مراحل فوق را رفتید و همچنان خطا برقرار بود تنها راه حل ساده برای این حل این خطا تغییر نام namespace پروژتون........:لبخند:

این تاپیک را با اجازه جناب آقای مهندس آشتیانی عزیز گذاشتم؛که واقعا نمیدونم چجوری ازش تشکر کنم ساعت ها وقت گران بهاشون را گرفتم برای حل این مشکل و دستشون درد نکنه ....:قلب::قلب:

گفتم شاید دوستانی باشند که الان یا در آینده به این مشکل برخورد بکنند و با دیدن این تاپیک امیدوارم مشکلشون حل بشه.....



سپاس از همگی
موفق باشید