نمایش نتایج 1 تا 7 از 7

نام تاپیک: پیام خطا در انتقال برنامه به سیستم دیگر

  1. #1

    پیام خطا در انتقال برنامه به سیستم دیگر

    سلام دوستان
    من برنامه ام رو روی لپ تاپ منزل با ویندوز 10 طراحی کردم و درهنگام اجرا مشکلی ندارم ولی وقتی فایل برنامه رو به سیستم اداره منتقل کردم هر فرم یا گزارش یا کوئری رو اجرا میکنم این پیام خطا رو از ماژولها میگیرد
    لطفا بفرمائید چگونه رفع عیب کنم ؟ ممنون از همه
    عکس های ضمیمه عکس های ضمیمه

  2. #2
    کاربر دائمی آواتار Ali_Fallah
    تاریخ عضویت
    مهر 1384
    محل زندگی
    همین نزدیکی ها
    پست
    791

    نقل قول: پیام خطا در انتقال برنامه به سیستم دیگر

    این بر میگرده به اینکه شما برنامه تون رو در سیستم 64 بیت طراحی کرده و در سیستم 32بیت میخواهید اجراش کنید که نمیشه ...

  3. #3

    نقل قول: پیام خطا در انتقال برنامه به سیستم دیگر

    ممنون دوست عزیز ولی چک کردم هر دو سیستم 64 بیتی هستند

  4. #4

    نقل قول: پیام خطا در انتقال برنامه به سیستم دیگر

    نقل قول نوشته شده توسط iransim مشاهده تاپیک
    ممنون دوست عزیز ولی چک کردم هر دو سیستم 64 بیتی هستند
    ببینید ما علاوه بر اینکه ویندوز 64 بیت و 32 بیت داریم، آفیس 64 بیت و 32 بیت هم داریم که جدا از بحث ویندوز هست. شما کدتون رو در سیستم اول با آفیس 32 بیتی نوشتید ولی آفیس شما در سیستم دوم نسخه ی 64 بیتی هست.

    برای استفاده از دستورات API ویندوز در نسخه 64 بیتی باید کلیدواژه ی PtrSafe رو بعد از Declare اضافه کنید:
    Private Declare PtrSafe Function...

  5. #5

    نقل قول: پیام خطا در انتقال برنامه به سیستم دیگر

    دوست عزیز ممنون از جوابتون
    امکانش هست بیشتر توضیح بدهید ؟ یعنی کجای برنامه رو باید اصلاح کنیم ؟
    باید دوباره برنامه رو یه سیستم و افیس 64 پیاده و طراحی کنم ؟ ( البته خدا نکنه )
    اگه نسخه افیس سیستم اول رو به 64 تغییر بدم مشکل حل میشه ؟

  6. #6

    نقل قول: پیام خطا در انتقال برنامه به سیستم دیگر

    این قضیه فقط مربوط به زمانیست که شما از کدهای API ویندوز استفاده میکنید که در این مواقع در آفیسهای 64 بیتی باید کلیدواژه ی PtrSafe رو به دستورتون اضافه کنید. اگر از API استفاده نکنید تفاوتی در طراحی برنامه با آفیس 32 بیتی و 64 بیتی وجود نداره.

    مثلا فراخوانی یک تابع نمونه در آفیس 32 بیتی دستور به صورت زیر نوشته میشه:
    Public Declare Sub MessageBeep Lib "User32" (ByVal N As Long)


    ولی همون تابع در آفیس 64 بیتی باید بصورت زیر فراخوانی بشه:
    Public Declare PtrSafe Sub MessageBeep Lib "User32" (ByVal N As Long)


    شما 2 راه حل دارید:
    1. فقط در مواقع خیلی ضروری از کدهای API استفاده کنید و اگر عملکرد خیلی حیاتی نداره ازش استفاده نکنید.
    2. از کامپایل شرطی استفاده کنید. بصورت زیر: (علامت هشتگ باید اول خط باشه)
    #If VBA7 Then
    Public Declare PtrSafe Sub MessageBeep Lib "User32" (ByVal N As Long)
    #Else
    Public Declare Sub MessageBeep Lib "User32" (ByVal N As Long)
    #End If


    توضیح: VBA7 یک const (ثابت) داخلی اکسس هست که بیانگر 64 بیتی بودن آفیس هست

    برای چک کردن ویندوز 64 یا 32 بیتی هم میتونید از ثابت Win64 استفاده کنید:
    #If Win64 Then
    Declare PtrSafe Function ...
    #Else
    Declare Function ...
    #End If

  7. #7

    نقل قول: پیام خطا در انتقال برنامه به سیستم دیگر

    خیلی خیلی ممنونم دوست عزیز
    اگه بازم سئوالی بود مزاحم میشم

تاپیک های مشابه

  1. سوال: این connection string برای اتصال به فایل mdf پایگاه SQL درسته واسه انتقال برنامه به سیستم دیگر ؟
    نوشته شده توسط Mojtaba0 در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 0
    آخرین پست: سه شنبه 28 مرداد 1393, 18:33 عصر
  2. سوالی در مورد انتقال برنامه به سیستم مشتری
    نوشته شده توسط Pedram_Parsian در بخش C#‎‎
    پاسخ: 3
    آخرین پست: دوشنبه 26 خرداد 1393, 19:31 عصر
  3. پاسخ: 4
    آخرین پست: دوشنبه 02 بهمن 1391, 23:02 عصر
  4. پاسخ: 3
    آخرین پست: یک شنبه 26 دی 1389, 22:57 عصر
  5. خطا در انتقال کلید به فرم زیرین
    نوشته شده توسط Pioneers در بخش C#‎‎
    پاسخ: 13
    آخرین پست: دوشنبه 03 دی 1386, 00:00 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •