ورود

View Full Version : MFC in VS.NET



Cheetah
یک شنبه 12 شهریور 1385, 01:12 صبح
سلام

چرا وقتی توی VS.NET برنامه ای با MFC مینویسم برای اجرا نیاز به .NET Framwork داره
اصولا MFC برای Win32 است....
پس چرا به دات نت نیاز داره

البته شایدم مشکل از من باشه...

در هر صورت ممنون میشم منو راهنمایی کنید

با تشکر

Inprise
یک شنبه 12 شهریور 1385, 02:16 صبح
قاعدتا" اول باید توضیح بدی چه اتفاقی افتاد که تصور کردی برای اجرای برنامه MFC-based به دات نت نیاز داری ، که بشه در موردش حرف زد

BitMap
دوشنبه 13 شهریور 1385, 15:57 عصر
فکر نمیکنم اینطور باشه
شما فقط به C++ RunTime library احتیاج دارید

marvel
سه شنبه 14 شهریور 1385, 08:52 صبح
اگر تو پروژه MFC از توابع FrameWork دات نت استفاده نکرده باشی برای اجرای برنامه هیچ نیازی به DotNet FrameWork نیست.

Cheetah
جمعه 07 مهر 1385, 13:54 عصر
تنها کاری که من انجام دادم این بود

1) توی VS.NET 2005 یه پروژه MFC باز کردم... و بعد بدون هیچ تغییری کامپایلش کردم
2) فایل exe رو روی سیستمی که روش .Net Framework نصب نبود اجرا کردم.... نتیجه: برنامه اجرا نشد.
3) روی همون سیستم .NET Framework رو نصب کردم و دوباره امتحان کردم... نتیجه: این بار اجرا شد.

مسلما برنامه ای که با MFC نوشته میشه win32 هست پس نیازی به .NET Framework نداره
مگه اینکه.... یه جوریایی از توابع یا ... دات نت توش استفاده شده باشه که به احتمال زیاد همینه

حالا میخوام ببینم:
این توابع چی هستن؟
چرا ازشون استفاده میشه؟
و چطور میشه از بندشون رها شد؟ (!)

Inprise
جمعه 07 مهر 1385, 17:23 عصر
قاعدتا" روی سیستمی که برنامه ات اجرا نشده MSVCRT و DLL های مربوطه وجود نداشتن ، یا نگارش مناسبی نداشتن که برنامه ات اجرا نشده ؛ قبل از انتشار هر برنامه ای باید مستندات Deployment اش رو مطالعه کنی ، من جمله برنامه های نوشته شده با ویژوال سی ، چه با MFC و چه بدون اون .

Cheetah
شنبه 08 مهر 1385, 23:44 عصر
به نظر میاد مسئله فقط این نباشه... یعنی مشکل همون جریان توابع دات نت و از این قبیل باشه.

شاید وقتی توی VS.NET یه پروژه‌ی MFC باز میکنید به صورت پیش فرض توابعی از دات نت توی اون به کار رفته باشه.
اگه این طور باشه اون توابع کدومند و چطور میشه بی خیالشون شد!؟

ممنون

Inprise
یک شنبه 09 مهر 1385, 00:23 صبح
جوابت رو میتونی تو نوشته قبلیم پیدا کنی و واضح هست . اول نحوه Deploy کردن برنامه های نوشته شده با VC رو یاد بگیر . برنامه های کامپایل شده با VC در حالت پیش فرض Standalone نیستن و باید کتابخانه های زمان اجرای مناسب رو همراهشون منتقل کنی .

sh_roohani
یک شنبه 09 مهر 1385, 12:15 عصر
سلام Cheetah جان،
من فکر می کنم جواب Inprise کار شما رو راه بندازه، اما محض احتیاط، می شه بگین پیش از نصب دات نت وقتی برنامه تونو اجرا کردین دقیقا چه پیغامی گرفتین که فکر کردین واسه اجرای یه برنامه ++C نیاز به Platform .Net هست؟