تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 10 از 10

نام تاپيک: اجرای فایلهای Exe تولیدی توسط ویژوال سی در کامپیوترهای دیگر :

  1. #1
    داره خودمونی میشه cpplover's Avatar
    تاريخ عضويت
    Dec 2007
    محل سكونت
    esfarayen
    پست ها
    127

    14 اجرای فایلهای Exe تولیدی توسط ویژوال سی در کامپیوترهای دیگر :

    با سلام
    زمانی که یک برنامه را در visual c++ کامپایل می کنم و یک فایل اجرایی ایجاد می شود زمانی که تمام فایل های ایجاد شده را به کامپیوتر دیگری منتقل می کنم برنامه در آن کامپیوتر اجرا نمی شود و مثلا خطایی از عدم وجود یک dll از طرف کامپیوتر صادر می شود حالا میخواستم بدانم چطور میشه کاری کرد که برنامه های من در کامپیوتر های دیگر بدون هیچ مشکلی اجرا شوند ؟

  2. #2
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Oct 2007
    پست ها
    205

    پيش فرض

    برنامه رو با چی نوشتین یعنی مثلا MFC, ATL یا Win32 Application و در چه ورژنی از VS ؟ 98 , 2002 یا 2005 ؟
    در صورتی که MFC یا ATL استفاده کردین باید DLL های و فایل های مربوط به این ها(برای MFC بجز DLL اصلی که میتونین درون خود فایل EXE قرارش بدین دو یا سه تا فایل دیگه هم بود تا اونجا که یادمه) رو هم روی سیستم مقصد قرار بدین.

  3. #3
    داره خودمونی میشه cpplover's Avatar
    تاريخ عضويت
    Dec 2007
    محل سكونت
    esfarayen
    پست ها
    127

    پيش فرض

    سلام

    من برنامه رو از نوع MFC )مبتنی بر کادر تبادلی) و در VISUAL 2005 اجرا و کامپایل می کنم ضمنا آیا شما در مورد static linking چیزی شنیدید ؟ من شنیدم که با این روش میشه این مشکلات رو حل کرد اگه اطلاعاتی در این مورد دارید من رو بی اطلاع نگذارید
    با تشکر

  4. #4
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Oct 2007
    پست ها
    205

    پيش فرض

    شما میتونین با انتخاب Use MFC in a Static Library در قسمت Properties مربوط به Project تون (در قسمت General) کاری کنین که دیگه نیازی به DLL مربوط به MFC نباشه .البته این کار حجم EXE شما رو افزایش میده.

  5. #5
    حـــــرفـه ای
    تاريخ عضويت
    Aug 2006
    پست ها
    793

    پيش فرض

    سلام.


    در vc6.0 برای انتشار برنامه نیاز به سه dll دارین :

    1- MFC42.dll که کتابخانه اصلی کلاس های MFC هست
    2- MFCD42.dll که شامل کلاس های اصلی مربوط به پایگاه داده هست
    3- MSVCRT.dll که کتابخانه های ++C هست.


    اما تا جایی که من اطلاع دارم شما از vc2005 استفاده میکنین.
    کافیه بسته ی زیر رو از سایت Mictosoft بگیرین :
    (برای انتشار برنامه حتما و حتما باید از این بسته استفاده کنین. )
    این بسته باید روی سیستم مورد نظر نصب بشه.

    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

    (vcredist_x86.exe) در حدود 3MB هست.


    اما در مورد static linking ، تنها در شرایطی خاص مورد استفاده قرار میگیره
    و بستگی به برنامه ی شما داره. و ضمنا روش اصلا مناسبی نیست.
    علاوه بر اینکه حجم برنامه رو به شدت زیاد میکنه ،
    در مواردی که برنامه و یا سیستم تحت فشار باشه مشکلات غیر قابل کنترلی رو ایجاد میکنه.

  6. #6
    داره خودمونی میشه cpplover's Avatar
    تاريخ عضويت
    Dec 2007
    محل سكونت
    esfarayen
    پست ها
    127

    پيش فرض

    با سلام و تشکر از دوستان به خاطر پاسخها :

    چیزی که خیلی در ویژوال 2005 نسبت به ویژوال 6 مشهود بود حجم بالای فایلهای ایجاد شده بود .مثلا در ویژوال 6 شاید حداکثر حجم فایل به 7 مگابایت در پروژه های معمولی می رسید و لی در ویژوال 2005 شاید اگه همون پروژه ساخته می شد حجم به 30 مگابایت می رسید!!!

    در مورد بسته ای هم که گفته بودید با اینکه من در کامپیوتر دیگه اون رو نصب کردم اما باز هم اجرا نشد اما باید این رو بگم که برنامه من از اکتیوایکس هم استفاده میکنه آیا برای اجرای اکتیوایکسها نیاز به dll و یا فایل ocx در کامپیوتر مقصد نیست ؟

  7. #7
    حـــــرفـه ای
    تاريخ عضويت
    Aug 2006
    پست ها
    793

    پيش فرض

    دوباره سلام!
    فایل OCX و یا DLL شما علاوه بر اینکه در سیستم هدف هم باید وجود داشته باشه
    باید Register هم بشه.
    با استفاده از Regsvr32 که کافیه اون رو در CMD ویندوز بنویسین. مثلا :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  8. #8
    داره خودمونی میشه cpplover's Avatar
    تاريخ عضويت
    Dec 2007
    محل سكونت
    esfarayen
    پست ها
    127

    پيش فرض

    سلام

    پس زمانی که نرم افزار ها ی مختلف رو روی سیستم نصب می کنیم این فایلها ی اکتیو ایکس رو با همین دستور regsvr32 ویزاردهای نصب برنامه اجرا می کنن ؟

    یعنی سوالم اینه که ویزاردهای نصب هم در زمان نصب دقیقا عمل رجیستر کردن رو انجام میدن ؟

    با تشکر

  9. #9
    حـــــرفـه ای
    تاريخ عضويت
    Aug 2006
    پست ها
    793

    پيش فرض

    بله! دقیقا همینطور هست.
    شما هم میتونین به سادگی برای برنامه تون یک Setup بسازین. که این امکان در VS2005
    وجود داره.

  10. #10
    اگه نباشه جاش خالی می مونه morix_001's Avatar
    تاريخ عضويت
    Aug 2007
    محل سكونت
    تهران
    پست ها
    339

    پيش فرض

    من با wim32 برنامه رو می نویسم ( consol ) ! برای بعضی کسانی که من فایل exe رو می فرستم برنامه میاد ولی بعضیا می گن که نمیاد ! چی کار کنم ؟!؟؟

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •