ورود

View Full Version : خطای Class doesn't support Automation



hrj1981
شنبه 31 فروردین 1392, 16:20 عصر
دوستان سلام
کسی میدونه منشاء و منبع صدور خطای Class doesn't support Automation تویه وی بی 6 چیه و راه حلی براش داره؟

setroyd
شنبه 31 فروردین 1392, 17:57 عصر
این کدی که شما این ارور رو داده برای پایگاه داده استفاده کردی اکسس ؟

اینجارو یه نگاه کن

http://forums.codeguru.com/showthread.php?1051-Error-430-class-doesn-t-support-automation...Help!!!

hrj1981
شنبه 31 فروردین 1392, 18:54 عصر
ممنون عزیز ، بله دقیقا تو رابط بانک اطلاعاتیه ، من از ADODB استفاده میکنم ، حالا وقتی میخواد بانک رو باز کن این خطا رو صادر میکنه ، راه حلی هست

setroyd
شنبه 31 فروردین 1392, 19:42 عصر
اخه از کجا میشه فهمید ! یا windows نمیزاره یا از کد هست یا ....................... والا نیمدونم ولی اونجا که لینک دادم یه چیزایی گفته .

hrj1981
یک شنبه 01 اردیبهشت 1392, 07:32 صبح
با سلام
ديشب تا ساعت يك با اين خطا كلنجار رفتم ، آخرش فهميدم كه يكي از رفنرسهايي كه بايد در رابطه با رابط بانك اطلاعاتي تو برنامه انتخاب ميكردم رو اشتباها تيك دار كرده بودم ، براي رابط برنامه نويسي VB6 بايد Microsoft ActiveX Data Objects 2.8 رو كه از فايل msado28.tlb فراخواني ميشه را انتخاب ميكردم كه متاسفانه رابط جديدتر Microsoft ActiveX Data Objects 6.1 رو كه از فايل msado15.dll فراخواني ميشه رو به اشتباه انتخاب كرده بودم . تويه سيستم خودم نرم افزار اجرا ميشد و به درستي هم كار ميكرد اما تو سيستم مشتريها خطاي 430 رو صادر مي كرد كه با اصلاح اين خطا مشكل حل شد.

M.T.P
یک شنبه 01 اردیبهشت 1392, 13:13 عصر
سلام

این مشکل رو قبلا مطرح کردم و گویا hotfix هم براش منتشر شد.

پروژه های مبتنی بر ADODB را در Windows 7 SP1 کامپایل نکنید!!! (http://barnamenevis.org/showthread.php?288361-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D9%87%D8%A7%DB%8C-%D9%85%D8%A8%D8%AA%D9%86%DB%8C-%D8%A8%D8%B1-ADODB-%D8%B1%D8%A7-%D8%AF%D8%B1-Windows-7-SP1-%DA%A9%D8%A7%D9%85%D9%BE%D8%A7%DB%8C%D9%84-%D9%86%DA%A9%D9%86%DB%8C%D8%AF!!!)

hrj1981
یک شنبه 01 اردیبهشت 1392, 15:17 عصر
درسته اما يك نكته هم وجود داره ، مشكل من از اونجا بود كه پرو‍‍ژه تويه XP كامپايل شده بود و هم تويه ويندوزهاي xp ديگه و ساير ويندوز ها ارور صادر مي شد، ايرادش و راه حلشم كه تو بالا توضيح دادم

M.T.P
یک شنبه 01 اردیبهشت 1392, 15:43 عصر
کلا بهتره اینکار رو یعنی انتخاب رفرنس رو به خاطر بروز همچین مشکلاتی انجام ندید ، با این حال دیگه مشکلی تو هیچ ویندوزی پیش نمیاد و از تابع CreateObject استفاده کنید:

اینطوری خودش اتوماتیک آخرین ورژن رو در نظر می گیره.


Private Sub Form_Load()
Dim o As Object

Set o = CreateConnection
MsgBox o.version
End Sub

Function CreateConnection() As Object
Set CreateConnection = CreateObject("adodb.connection")
End Function

Function CreateRecordset() As Object
Set CreateRecordset = CreateObject("adodb.recordset")
End Function