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

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




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

نام تاپيک: برای کپی کردن یک ocx در کامپیوتر مقصد مشکل دارم دوستان

  1. #1
    داره خودمونی میشه دختر پاییز's Avatar
    تاريخ عضويت
    Jan 2009
    محل سكونت
    شیراز
    پست ها
    28

    14 برای کپی کردن یک ocx در کامپیوتر مقصد مشکل دارم دوستان

    سلام وخسته نباشین دوستان

    من میخوام msvbvm60.dll از طریق کد vb به کامپیوتر مقصد کپی کنم ولی متآسفانه زمانی که برنامم رو اجرا می کنم این error رو به من می ده: permission denied

    کد هم این هست:

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    بقیه ocx یا dll ها رو با این کد کپی می کنم و مشکلی نداره ولی برای بعضی از فایلها همون error که بالا گفتم رو می ده

  2. #2
    داره خودمونی میشه
    تاريخ عضويت
    Mar 2007
    پست ها
    33

    پيش فرض

    فایل MSVBVM60.DLL بطور پیش فرض از ویندوز XP به بعد در پوشه system32 وجود دارد ، متد FileCopy ، فایل موجود رو جایگزین نمی کنه.
    برای کپی کردن یک فایل ، با صرفنظر از وجود فایل ، در reference پروژه از Microsoft Scripting RunTime ، و متدهاش استفاده کن.

  3. #3
    داره خودمونی میشه دختر پاییز's Avatar
    تاريخ عضويت
    Jan 2009
    محل سكونت
    شیراز
    پست ها
    28

    پيش فرض

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    دوست عزیز از راهنماییت سپاسگزارم
    منظورتون از صرفنظر از وجود فایل چیه؟ میشه خواهش کنم کدی که می تونم این dll رو به وسیله اون کپی کنم بهم بدی؟ آخه نفهمیدم چی کا باید بکنم بعد از اینکه اون گزینه که گفتی رو در refrences علامت دار کردم

  4. #4
    داره خودمونی میشه
    تاريخ عضويت
    Mar 2007
    پست ها
    33

    پيش فرض

    منظورم OverWrite یا همون replace کردن فایله. شکل کلی دستور CopyFile پس از اضافه کردن Microsoft Scripting RunTime به reference بصورت زیر است:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    آرگومان آخر مشخص می کند که فایل در صورتی که وجود داشته باشد ، جایگزین شود یا خیر.

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

  5. این کاربر از smart_boy بخاطر این مطلب مفید تشکر کرده است


  6. #5
    داره خودمونی میشه دختر پاییز's Avatar
    تاريخ عضويت
    Jan 2009
    محل سكونت
    شیراز
    پست ها
    28

    پيش فرض

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    در این مثال حتی در صورت وجود داشتن فایل ، کپی انجام می شود.[/quote]
    [/CODE]

    خیلی ازت ممنونم ولی باز هم همون error قبلی رو بهم می ده:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    برای کپی کردن بعضی از ocx یا dll ها در پوشه system32 این error رو میده و وقتی اونها رو در پوشه دیگری به غیر از system32 کپی می کنم ایرادی نمی گیره

    نمی دونم دلیل این error چیه و چرا برای بعضی از فایلها این مشکل پیش می یاد

  7. #6
    داره خودمونی میشه دختر پاییز's Avatar
    تاريخ عضويت
    Jan 2009
    محل سكونت
    شیراز
    پست ها
    28

    پيش فرض

    :-(((((((((((((((((((((((((((((((((((((
    Last edited by دختر پاییز; 28-02-2009 at 22:24.

  8. #7
    داره خودمونی میشه دختر پاییز's Avatar
    تاريخ عضويت
    Jan 2009
    محل سكونت
    شیراز
    پست ها
    28

    پيش فرض

    واااااااااااااااااااااااا اااااااای
    باز هم همون error رو می ده
    معلوم نیست چشه , دیگه گریم گرفته به خدا

    حتی با دستوری که شما گفتید هم error میده که این فایل موجوده
    On Error GoTo 7
    a.copy file App.path & "\component\MSVBVM60.DLL", "c:\windows\system32\MSVBVM60.DLL",true
    7:

    خوب من چی کار کنم که وقتی error می ده فایل موجوده از اون خط بگذره و بره به خط بعدی برنامه؟؟؟
    اگه می دونین مشکل از کجاست خواهش می کنم منو راهنمایی کنین

  9. #8
    مدیر انجمن برنامه نویسی Payman_62's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    تهران
    پست ها
    2,445

    پيش فرض

    سلام.
    خوب مشخصه که چرا ارور میده. شما میخوای 2 کار ضد هم رو هم زمان انجام بدی. هم زمان میخوای هم فایل MSVBVM60.DLL باشه و هم نباشه.
    تمام برنامه های ویبی برای ران شدن نیاز به فایل MSVBVM60.DLL دارن. پس وقتی برنامت رو اجرا میکنی نیاز به وجود این فایل داری. هنگامی هم که قصد کپی فایل مورد نظر خودت رو به جای MSVBVM60.DLL داری نیاز به نبودن این فایل داری تا فایل شما کپی شود.
    در واقع کپی این فایل یه کار بیهوده هست. چون اگر نباشد برنامه شما ران نمیشه و اگر باشد نیازی به کپی مجدد نیست.

    دلیل اروری هم که میده و اوررایت نمیشه اینه که شما میخوای فایلتو رو فایلی که در حال استفاده توسط برنامه دیگری هست کپی کنی. فایل MSVBVM60.DLL توسط برنامه خود شما که ران شده در حال استفاده است و تا موقعی که برنامه شما بازه اون فایل رو نه میشه پاک کرد نه میشه کات کرد نه میشه چیزی روش کپی کرد.

    ضمن این که کپی اون فایل در زمان ویندوز 98 نیاز بود که فایل MSVBVM60.DLL رو نداشت. ولی در حال حاضر که همه ویندوز ها این فایل رو دارن. کپی مجدد این فایل چه کاریه؟

    در هر صورت برای رفع این مشکل در موارد مشابه 2 راه داری.
    اول این که قبل کپی on error resume next قرار بدی تا برنامه به هر اروری خورد بدون نمایش خطا عبور کند و بعد کپی هم on error goto 0 قرار بدی تا ارور های بعدی رو نمایش بده. در کل روش جالبی نیست.
    روش دوم چک کردن وجود فایل قبل از کپی هست. به کمک دستور dir آدرس مقصد رو چک میکنی. اگر پوچ برگردوند یعنی فایل موجود نیست. اگر اسم فایل رو برگردوند یعنی فایل موجوده و نیازی به کپی نیست.

  10. این کاربر از Payman_62 بخاطر این مطلب مفید تشکر کرده است


  11. #9
    داره خودمونی میشه دختر پاییز's Avatar
    تاريخ عضويت
    Jan 2009
    محل سكونت
    شیراز
    پست ها
    28

    پيش فرض

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

Thread Information

Users Browsing this Thread

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

User Tag List

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

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