PDA

View Full Version : اشکال در کار با CFileDialog



BitMap
دوشنبه 20 اسفند 1386, 17:15 عصر
سلام

من به یه اشکال عجیب برخوردم.
وقتی سه بار تابع DoModal از کلاس CFileDialog رو صدا می زنم ، در دفعه ی سوم ئقتی پنجره باز میشه بعد از یک یا دو ثانیه یک پیغام مبنی بر رخ دادن یک خطای مدیریت نشده میده.و اگر کد رو به صورت release کامپایل کرده باشم برنامه به طور خود به خود بسته میشه.
هیچ دلیلی وجود نداره.چندین پروژه ی جدید ساختم و توی متد OnInitDialog آنها این کار رو تکرار کردم و باز هم همین اتفاق می افته.
یعنی یک پروژه ی جدید که جز سه بار فراخوانیمتد DoModal هیچ کار دیگه ای نمی کنه.
جالب اینجاست که وقتی کد رو به صورت Managed کامپایل می کنم، درست میشه.
ولی من می خواهم کد نهایی Native باشه.

آیا میشه با API کار این کلاس را انجام داد یا حتما باید از mfc استفاده کنی؟

BitMap
سه شنبه 21 اسفند 1386, 05:42 صبح
اشکال برطرف شد
گقتم عجیب بود.چون هیچ دلیل منطقی برای رخ دادنش نبود
اشکال از ویندوز هست.قضیه یک باگ بود
http://support.microsoft.com/kb/909486/en-us

مشکل اینجوری حل میشه که در شروع و پایان ترد از CoInitializeEx و CoUninitialize استفاده میشه.
هم بگ عجیبه هم راه حلش !!!!