PDA

View Full Version : چگونه می توان برنامه نوشته شده در سیستم 32 بیتی را در سیستم 64 بیتی اجرا کرد



Masoome_das
دوشنبه 16 خرداد 1390, 09:59 صبح
سلام دوستان
من یک برنامه تحت ویندوز نوشته ام که بانک آن اکسس 2007 است حالا وقتی برنامه ام را به یک سیستم 64 بیتی انتقال داده ام برنامه نمی تواند با بانک اطلاعاتی ارتباط برقرار کند
اگر کسی تجربه ای در این زمینه دارد من راهنمایی کند

ehp_kz6597
دوشنبه 16 خرداد 1390, 10:59 صبح
سلام
یه روش هست که میگن جواب میده . توی ویندوز xp هم مشابهش برای پشتیبانی از ویندوزهای قبلی بود ولی من روی برنامه زیادی تستش کردم جواب نداد . شما متحان کن شاید رو مورد شما جواب بده
رو برنامتون کلیک راست کنین و گزینه properties رو انتخاب کنید . تو پنجره جدید ،تب compatibility رو انتخاب کرده و در اونجا تیک گزینه run this program in compatibility mode for رو فعال کنید و سپس win xp رو انتخاب کنید و تایید کنید .
ان شاء الله که مشکل حل بشه

موفق باشید
.:ــا/ــــــــــا

amireto
دوشنبه 16 خرداد 1390, 12:35 عصر
فكر نكنم مشكل از سيستم 64 بيتي باشه من هم برنامه اي با سيستم 32 با بانك sql داشتم منتقل به سيستم 64 بيتي كردم و مشكلي نداشتم
فكر كنم مشكل از نوع و ورژن اكسس باشه ! اين مسئله رو چك كن اكسس 32 بيتي با 64 بيتي تفاوت دارن

programerinfonet
دوشنبه 16 خرداد 1390, 12:42 عصر
سلام نه دوستان اگه ميخواييد برنامه تون تو هر دو سيستم عامل يعني هم 32وهم64 اجرا بشه ماجرا فرق ميكنه
همون طوركه ميدونيد منطق و عملكرد 64 بيت قادر است بر روي دو CPUبه صورت هم زمان فعاليت داشته باشد ولي در 32 اين طور نيست
حال راه حل چيست ؟
شما بايد با برنامه نويسي Parallel آشنايي داشته باشيد در كل اين نوع برنامه نويسي برنامه ي شما را بر روي سيستم هاي 64 اجرا خواهد كرد
اين ترفندهاي الكي هم يا كار نمي كنه اگر هم كار كنه نصفه نيمه كار ميكنه

saman6384
دوشنبه 16 خرداد 1390, 12:47 عصر
منظور از پارالل همون multi thread هستش؟

محمد باقری نسب
دوشنبه 16 خرداد 1390, 14:36 عصر
اول اینکه روش Parallel در اصل استفاده از چندین هسته از CPU برای انجام فرآیند هست نه چند Thread.

دوم اینکه دوست خوبی (programerinfonet) که به این قضیه اشاره کردند برای اجرای نرم افزار های 32 بر روی 64 کاملا در اشتباه هستند. چون این قضیه هیچ ربطی به سیستم پردازش Parallel ندارد و همچنین شما میتونید در سیستم عاملهای 32 بیتی هم به صورت چند هسته ای (Multi Core) کار کنید.

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

به شما هم پیشنهاد میکنم با این روش مشکلتون رو حل کنید. چون در اصل همون SQL Server رو دارین بدون نیاز به نصب SQL Server و فرقش هم اینه که تک کاربره هست دقیقا مانند Access و فقط یه dll به برنامتون اضافه میکنید.

فایلش رو هم براتون میزارم. در کل بعد از یه مدت که ازش استفاده کردین باهاش حال میکنین...

Open-Source
دوشنبه 16 خرداد 1390, 16:06 عصر
شما نوع کامپایل رو به x86 تغییر بده مشکلتون حل میشه.

محمد باقری نسب
پنج شنبه 19 خرداد 1390, 08:24 صبح
عزیز دل برادر جناب Open-Source شما لطف کنین زحمت بکشین این راهکاری رو که پیشنهاد دادید ابتدا خودتون تستش کنید ببینید جواب می گیرید و بعد به عنوان پیشنهاد ارائه کنید.

چون این چیزی که شما گفتید تغییری در وضعیت برنامه ایجاد نمی کند. چون بنده به شخصه با این قضیه برخورد داشتم و مشکل حل نشد! نهایتا از SQLite استفاده کردم.

Felony
پنج شنبه 19 خرداد 1390, 09:00 صبح
سلام دوستان
من یک برنامه تحت ویندوز نوشته ام که بانک آن اکسس 2007 است حالا وقتی برنامه ام را به یک سیستم 64 بیتی انتقال داده ام برنامه نمی تواند با بانک اطلاعاتی ارتباط برقرار کند
اگر کسی تجربه ای در این زمینه دارد من راهنمایی کند
به خاطر اینکه موتور بانک اطلاعاتی در سیستم مقصد نصب نیست ، نسخه موتور راه انداز Access که همراه ویندوز نصب میشه 4 هست و حداکثر از اکسس 2003 پشتیبانی میکنه و برای نسخه های بالاتر از اون باید موتور راه انداز رو خودتون نصب کنید ( نسخه 12 ) ، به لینک زیر مراجعه کنید و فایل های ضمیه رو بسته به نیاز ( 32 یا 64 بیت بودن سیستم عامل مقصد ) دریافت و همراه با برنامه در سیستم مقصد نصب کنید :
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c06b8369-60dd-4b64-a44b-84b371ede16d&displaylang=en