PDA

View Full Version : سوال: رجیستر نشدن کامپوننت در اکسس 2010 نسخه 64 بیتی



abas1388
شنبه 12 دی 1394, 23:22 عصر
سلام دوستان
لطفاً یک بزرگواری منو راهنمائی کنه
امروز اکسس 2007 را از روی سیستمم حذف و اکسس 2010 نسخه 64 بیتی را نصب کردم اما یکی دو تا اکتیو ایکس که در برنامه ام بکار برده شده شناخته نمیشود . برنامه ام نصبی است . ولی ظاهراً با فایل نصبی هم اکتیو ایکس های فوق رجیستر نمیشود و چند بار هم با نرم افزار Registrator.exe آنها را رجیستر نمودم ، با این ابزار عملیات رجیستر در ظاهر انجام میشود ولی وقتی در حالت دیزاین فرمی که اکتیو ایکس در آن درج شده باز می کنم خطای وجود نداشتن اکتیوایکس صادر میشود .
ممنون میشم یکی از اساتید عزیز بنده را در این مورد راهنمائی نماید .
با تشکر

New Account
یک شنبه 13 دی 1394, 18:21 عصر
سلام

اگر بخوام خلاصه خدمتتون عرض کنم "شما کاری نمی تونید انجام بدید"

ولیکن توضیحات کامل در :


مقایسه آفیس 32bit و 64bit (http://www.cpsd.ir/forum/showthread.php?tid=297)

موفق باشید

abas1388
یک شنبه 13 دی 1394, 23:52 عصر
سلام

اگر بخوام خلاصه خدمتتون عرض کنم "شما کاری نمی تونید انجام بدید"

ولیکن توضیحات کامل در :


مقایسه آفیس 32bit و 64bit (http://www.cpsd.ir/forum/showthread.php?tid=297)


موفق باشید
سلام
ممنون از مقاله بسیار ارزشمندتون جناب پیروزمهر
فقط یک ابهام برایم همچنان باقی است و آن اینکه بنده از یکی از اکتیوایکس های Codejock استفاده میکنم که که این اکتیو ایکس در هر دو نسخه 32 بیتی و 64 بیتی ارائه شده ؛ با توجه به اینکه ویندوز من سون و 64 بیتی است نسخه 32 بیتی آن به راحتی رجیستر میشود ولی نسخه 64 بیتی کامپوننت فوق به هیچ وجه رجیستر نمیشود حتی با نرم افزارهای مختلف .
البته چند کامپوننت 64 بیتی دیگر نیز امتحان گردید که همین مشکل برای آنها هم وجود داشت .
ضمناً در محیط وبی باچه کدی میتوانیم تشخیص بدهیم که ا لآن نسخه 32 آفیس نصب است یا 64 بیتی آن ؟

با تشکر

New Account
دوشنبه 14 دی 1394, 14:14 عصر
سلام abas1388
در خصوص محصول CodeJoke متاسفانه بنده از اين نمونه در حال حاضر استفاده اي نميكنم و از اون گذشته به آفيس 64 بيت هم دسترسي ندارم ( به دلايلي كه در همون مقاله به اون اشاره كردم ) بر همين اساس امكان نظر دهي دقيق رو ندارم ، وليكن با نگاهي به بخش معرفي اين محصول در سايت CodeJoke ، از ظاهر امر اينگونه به عمل مياد كه Codejock Suite Pro for ActiveX COM كه علي الظاهر ميبايست محصول مورد نظر شما هم باشه ، تنها محيط ويندوز 64 بيت رو پشتيباني ميكنه و نه محيط توسعه 64 بيت رو ( تستي در حال حاضر بر روي اين امر انجام ندادم )
آفيس 64 بيت هم بر روي سيستم ندارم ( به مشكلات اون در همون مقاله رجوع كنيد / مجبورم كل آفيسهاي فعليم رو پاك كنم ) ، بر همين اساس هم نميتونم كمك دقيقي در اين رابطه داشته باشم
وليكن به جهت راهنمايي ، دوست من همواره محصولات آفيس بخشي از اطلاعاتتشون رو در داخل رجيستري ويندوز ثبت ميكنند كه ميشه اونها رو خوند و مورد استفاده قرار داد
يك لينك در زير براتون قرار ميدم ، لطفا اون رو مطالعه كنيد متاسفانه به دليل محدوديتهاي فوق امكان كمك خاصي رو ندارم به جز پيدا كردن اين لينك
پي نوشت :
زياد هستند حتي كامپوننتهاي 32 بيتي كه علي الظاهر ميبايست قابل استفاده در آفيس 32 بيت هم باشند ، وليكن نيستند كه اين امر تا حدود زيادي به ماهيت كامپوننت مورد بحث و يا نحوه طراحي اون بر ميگرده
از اينكه به دليل محدوديت امكان همكاري بيشتر رو ندارم متاسفم

موفق باشيد

abas1388
دوشنبه 14 دی 1394, 15:02 عصر
سلام abas1388
در خصوص محصول CodeJoke متاسفانه بنده از اين نمونه در حال حاضر استفاده اي نميكنم و از اون گذشته به آفيس 64 بيت هم دسترسي ندارم ( به دلايلي كه در همون مقاله به اون اشاره كردم ) بر همين اساس امكان نظر دهي دقيق رو ندارم ، وليكن با نگاهي به بخش معرفي اين محصول در سايت CodeJoke ، از ظاهر امر اينگونه به عمل مياد كه Codejock Suite Pro for ActiveX COM كه علي الظاهر ميبايست محصول مورد نظر شما هم باشه ، تنها محيط ويندوز 64 بيت رو پشتيباني ميكنه و نه محيط توسعه 64 بيت رو ( تستي در حال حاضر بر روي اين امر انجام ندادم )
آفيس 64 بيت هم بر روي سيستم ندارم ( به مشكلات اون در همون مقاله رجوع كنيد / مجبورم كل آفيسهاي فعليم رو پاك كنم ) ، بر همين اساس هم نميتونم كمك دقيقي در اين رابطه داشته باشم
وليكن به جهت راهنمايي ، دوست من همواره محصولات آفيس بخشي از اطلاعاتتشون رو در داخل رجيستري ويندوز ثبت ميكنند كه ميشه اونها رو خوند و مورد استفاده قرار داد
يك لينك در زير براتون قرار ميدم ، لطفا اون رو مطالعه كنيد متاسفانه به دليل محدوديتهاي فوق امكان كمك خاصي رو ندارم به جز پيدا كردن اين لينك
پي نوشت :
زياد هستند حتي كامپوننتهاي 32 بيتي كه علي الظاهر ميبايست قابل استفاده در آفيس 32 بيت هم باشند ، وليكن نيستند كه اين امر تا حدود زيادي به ماهيت كامپوننت مورد بحث و يا نحوه طراحي اون بر ميگرده
از اينكه به دليل محدوديت امكان همكاري بيشتر رو ندارم متاسفم

موفق باشيد
با سلام و تشکر از استاد پیروز مهر
میگم وقتی استاد بزرگمون ، آفیس 64 بیتی (به دلایلی که در مقاله ارزشمندشون اشاره نموده اند ) روی سیستمشون نصب نیست ما چه اصراری به نصب این نسخه از آفیس را داریم .
ما هم انشاءالله به تبعیت از استاد بزرگوار از همون نسخه 32 بیتی بی درد سر استفاده می کنیم .
با تشکر

New Account
دوشنبه 14 دی 1394, 16:46 عصر
سلام دوست من

متاسفانه عجله کردم و لینک موضوع رو یادم رفته بود قرار بدم

لینک موضوع مرتبط (http://stackoverflow.com/questions/2203980/detect-whether-office-is-32bit-or-64bit-via-the-registry)



ما هم انشاءالله به تبعیت از استاد بزرگوار از همون نسخه 32 بیتی بی درد سر استفاده می کنیم .


نه دوست من

من اون موضوع رو یک کم بازتر کنم

بعد از این همه گذر عمر به شخصه چیز جدیدی رو ندیدم ( در همه موارد بدون استثنا ) که , یک پدیده جدید جایگزین قبلی بشه و در عوض شما بهایی رو در مقابل مزایای اون ندید

اجناس سبک تر شدند , از کیفیت ساخت اونها کاسته شد
اجناسی سبک تر شدند و ضمن اون کیفیتشون هم به نسبت بالاتر رفت , قیمت چند برابر شد و .......
از این مثالها به صورت بیشمار وجود داره

به عقیده بنده , قانون ثابت بودن میزان انرژی , تنها و تنها در خصوص انرژی نیست , در رابطه با همه مسائل جاری هست

اگر کاری رو بیشتر انجام بدید , باید یک کار دیگه رو کمتر انجام بدید
اگر بر سر سفره دو لقمه از یکی از غذاها بیشتر بخورید , باید چند لقمه ای از غذایی دیگه رو کمتر بخورید
و ........................

به همین نسبت وقتی اکسس 64 بیت مزایایی رو برای شما به همراه میاره , قطعا و باید امکاناتی دیگه رو از شما گرفته باشه و یا امکاناتی جدید رو به موازات خودش از شما طلب کنه

به طور مثال طلب امکانات سخت افزاری جدید
طلب یادگیری بخشی از کدینگ تغییر یافته
و به همین شکل طلب کامپوننتها و اکتیو ایکسهای سازگار با نسخ محیطهای توسعه 64 بیتی
و .......

در حال حاضر شما در دام اکتیو ایکسهای 64 بیتی افتادید , که میشه گفت با توجه به برخی محدودیتها , نمیشه انتظار توسعه سریع و همه جانبه این بخش از محصولات رو همپای خود محصولات آفیس داشت

:.:.:.:.:.:.:.:.:.

بنده شخصا با در نظر گرفتن بازار هدف و بررسی همه جانبه موضوعات فعلی که درگیر اونها هستم , انتخاب 32 بیت رو در حال حاضر منطقی تر دیدم

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

واقعیت کنونی و فعلی , محدود تر بودن توسعه محصولات افیس در نسخ 64 بیتی هست که امیدوارم در آینده این وزنه به سمت دیگه سنگینی کنه

امیدوارم این موضوعات در انتخاب درست تر به کمک شما بیاد

موفق باشید

abas1388
دوشنبه 14 دی 1394, 20:35 عصر
سلام دوست من

متاسفانه عجله کردم و لینک موضوع رو یادم رفته بود قرار بدم

لینک موضوع مرتبط (http://stackoverflow.com/questions/2203980/detect-whether-office-is-32bit-or-64bit-via-the-registry)


سلام جناب پیروزمهر ! ضمن تشکر بابت قرار دادن لینک مرتبط ، فکر کنم در صفحه لینک فوق فقط کدهای زیرقابل اجرا در محیط وی بی باشد که در زمان اجرا از خط دوم آن خطای object required گرفته میشود :


Dim WshShell, blnOffice64, strOutlookPath
Set WshShell = wscript.CreateObject("WScript.Shell")
blnOffice64 = False
strOutlookPath = WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\outlook.exe\Path")
If WshShell.ExpandEnvironmentStrings("%PROCESSOR_ARCHITECTURE%") = "AMD64" And _
Not InStr(strOutlookPath, "x86") > 0 Then
blnOffice64 = True
wscript.Echo "Office 64"
End If


با تشکر

alirezabahrami
دوشنبه 14 دی 1394, 20:48 عصر
سلام جناب پیروزمهر ! ضمن تشکر بابت قرار دادن لینک مرتبط ، فکر کنم در صفحه لینک فوق فقط کدهای زیرقابل اجرا در محیط وی بی باشد که در زمان اجرا از خط دوم آن خطای object required گرفته میشود :


Dim WshShell, blnOffice64, strOutlookPath
Set WshShell = wscript.CreateObject("WScript.Shell")
blnOffice64 = False
strOutlookPath = WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\outlook.exe\Path")
If WshShell.ExpandEnvironmentStrings("%PROCESSOR_ARCHITECTURE%") = "AMD64" And _
Not InStr(strOutlookPath, "x86") > 0 Then
blnOffice64 = True
wscript.Echo "Office 64"
End If


با تشکر
سلام!
با اجازه آقای پیروزمهر ، از خط فوق wscript آن را که قبل از CreateObject درج شده حذف کنی درست میشه .

یاعلی

New Account
دوشنبه 14 دی 1394, 21:40 عصر
سلام

کد مورد اشاره رو متاسفانه بنده نمیتونم چک کنم ولیکن با توجه به تفسیری که نگارنده اون کد در خصوص روش کارکردش داشته , ذهنیت صحیح هستش

چون نمیشه آفیس 32 و 64 بیت رو همزمان در کنار هم داشت , ایشون با پیدا کردن سوییچ Outlook در داخل رجیستری ( به عنوان یکی از بخشهای آفیس ) و تشخیص 32/64 بیتی بودن اون به این نتیجه میخواد برسه که کلیت مجموعه آفیس نصب شده کدوم یکی هستش , که به نظرم یک روش درسته

ولیکن آیا این کذ نتیجه رو به درستی بر روی خروجی صادر میکنه , میبایست در داخل یک آفیس 64 بیت تست کنید

نکته لازم اینه که روالهای قرائت رجیستری رو هیچ وقت بدون رویه های کنترل خطا ننویسید , متاسفانه پتانسیل زیادی برای صدور خطا در هنگام اجرا دارند

این کد فقط داره مقدار رو میخونه , اون هم در حالتی که سوییچ مورد نظر وجود داشته باسه , در غیر اینصورت پیغام خطا رو صادر میکنه

در خصوص اون خطا هم نظر آقای بهرامی کاملا درسته

ممنونم و خدانگهدار