PDA

View Full Version : سوال: با این error عجیب چی کار کنم؟



f.nabavi
دوشنبه 06 آبان 1387, 10:53 صبح
سلام. وقتی می خوام یه پنجره از برنامه ام رو باز کنم این ارور رو میده، البته رو سیستم خودم نمیبینم. رو بقیه سیستم ها می یاد. کسی می دونه علتش چیه؟
runtime error -2146697211(800c0005)

mpmsoft
دوشنبه 06 آبان 1387, 10:57 صبح
متن پیغام چیه ؟

f.nabavi
دوشنبه 06 آبان 1387, 11:16 صبح
run time error -2164697211 (800c0005)
Automation error
چون فقط در اجرای exe دیده میشه، چیز بیشتری ازش نمیدونم...

حامد مصافی
دوشنبه 06 آبان 1387, 11:49 صبح
واضحه. از یک اتوماسیون استفاده کردید که فقط روی کامپیوتر خودتون نصبه.

f.nabavi
دوشنبه 06 آبان 1387, 12:25 عصر
حالا از کجا بفهمم که چه اتوماسیونی کمه؟

ƒxmahdi
دوشنبه 06 آبان 1387, 14:02 عصر
اکثر برنامه هایی که با vb6 نوشته می شوند برای اجراء روی هر سیستمی به فایل VB6STKIT.DLL واقع در مسیر C:\WINDOWS\system32 نیاز دارند حال شما چک کن ببین این dll وجود داشته یا نه ؟

f.nabavi
دوشنبه 06 آبان 1387, 14:17 عصر
این dll با setup رو همه سیستم ها نصب شده، تمام برنامه اجرا میشه، فقط یه فرم که از vbflex و richtxtboxاستفاده میکنه ناگهان دچار مشکل شده. قبلا کار میکرد... )):

ƒxmahdi
دوشنبه 06 آبان 1387, 18:45 عصر
مشکل از vbflex و richtxtbox نیست چون اگه بود برنامه اصلا اجراء نمی شد پس عیب از کد نویسی برنامه است . یا باید پروژه برنامه را روی سیستم دیگری چک کنید یا اینجا قرار بدی تا من و دوستان بتونیم بهت کمک کنیم .

l3ai3ak
سه شنبه 07 آبان 1387, 02:25 صبح
google میگه :
این فایل رو چک کن msxml3.dll

f.nabavi
سه شنبه 07 آبان 1387, 08:49 صبح
msxml3.dll رو چک کردم. رو همه سیستم ها نصبه. این برنامه طوری نیست که بشه اینجا گذاشتش. مسئله اینه که این مشکل وجود نداشت و تو بقیه پنجره هام هم نیست. من در مرحله تست پروژه ام و دارم مرتب exe رو update میکنم. بعد از چند بار exe گرفتن و نبود هیچ مشکلی ناگهان یه بخش برنامه دیگه فعال نشد....

ƒxmahdi
چهارشنبه 08 آبان 1387, 08:05 صبح
این مشکل می تونه در ساختار(Structure) برنامه شما به وجود اومده باشه.
به نظر من یک پروژه جدید ایجاد کن بعد تعداد فرم های برنامه را اضافه کن سپس کلیه ی شیء های برنامه همراه با کدهای آن را از روی پروژه قبلی به پروژه جدیدت کپی کن ! خلاصه با عمل کپی به راحتی در عرض چند دقیقه می تونی یک پروژه مانند اون درست کنی بعد برنامتو کامپایل کن . من قبلا یه همچین مشکلی داشتم اینطوری درست شد . دیگه بیشتر از این نمی تونم کمکت کنم. موفق باشی

Black_Strom
چهارشنبه 08 آبان 1387, 09:46 صبح
شما اگهع فراِیند مدیریت خطا ها را کنترل کنی تو برنامت این مشکلات پیدا نمیشه !
run timer error در زمان اجرای برنامست پس مشکل از کد هاته !
و اما با دستور on error که آشنایی همچنین با

err.description
پس مشکل کجاست ؟

به جای کد خطا توضیحاتش را میده بهت @

3dboy1
چهارشنبه 08 آبان 1387, 10:47 صبح
شما گفتين كه برنامه روي سيستم خودتون اجرا ميشه
چك كنين ببينيد كه از فايل dll كه رجيستر نشده استفاده نكرديد
يا يك فايل bat درست كنين و اين dll , ocx ها رو كنار فايل گذاشته و روي سيستم هاي ديگه اجرا كنين
اميدوارم كه مشكلتون حل بشه
كد فايل bat :


regsvr32.exe /s COMDLG32.OCX
regsvr32.exe /s MSCOMCT2.OCX
regsvr32.exe /s MSCOMCTL.OCX
regsvr32.exe /s MSFLXGRD.OCX
regsvr32.exe /s TABCTL32.OCX
regsvr32.exe /s clbcatq.dll
regsvr32.exe /s comres.dll
regsvr32.exe /s expsrv.dll
regsvr32.exe /s lpk.dll
regsvr32.exe /s MSBIND.DLL
regsvr32.exe /s MSDBRPTR.DLL
regsvr32.exe /s MSDERUN.DLL
regsvr32.exe /s msjet35.dll
regsvr32.exe /s MSJINT35.DLL
regsvr32.exe /s MSSTDFMT.DLL
regsvr32.exe /s msvbvm60.dll
regsvr32.exe /s usp10.dll
regsvr32.exe /s VB5DB.DLL
regsvr32.exe /s DAO350.DLL
regsvr32.exe /s MSJTER35.DLL
regsvr32.exe /s sxs.dll
::regsvr32.exe /s MSWORD.OLB
regsvr32.exe /s VB6.OLB
regsvr32.exe /s msado20.tlb
regsvr32.exe /s stdole2.tlb
regedit /s ClassReg.reg
copy DAO350.DLL "%programfiles%\Common Files\Microsoft Shared\DAO\DAO350.DLL"
copy *.ocx %systemroot%\system32\
copy *.dll %systemroot%\system32\
copy *.tlb %systemroot%\system32\
copy *.olb %systemroot%\system32\
msg * Installation Successfully!
exit

f.nabavi
چهارشنبه 08 آبان 1387, 18:49 عصر
ممنون از همه که توجه نشون دادین. آقای 3dboy1 من تمام Dll های بالا رو رجیستر شده رو سیستم مقصد دارم و همون طور که گفتم این مشکل از اول وجود نداشت و من هم تو exe های جدیدم نه از component جدید استفاده کردم و نه از dll جدید. در ضمن مدیریت خطا هم نمیتونم بکنم. درست بعد از اینکه دستورForm.show اجرا میشه و قبل از اجرای form_load این خطا می یاد پس مدیریت خطا جواب نمیده. با نظر fxmahdi بیشتر موافقم ولی این پروژه 48 تا فرم و 18 تا ماژول داره و ممکنه دوباره به مشکل بخورم... بهتره یه راه حل دیگه گیر بیارم.

vbhamed
پنج شنبه 09 آبان 1387, 00:25 صبح
سلام
ممكنه فرمهاي برنامه از لحاظ مصرف حافظه سنگين شده باشن
موقتا چند تا از فرم هاي آخر رو كه ميشه، حذف و تست كنيد

حامد مصافی
پنج شنبه 09 آبان 1387, 00:34 صبح
یعنی این خطا قبل از روتین Form_Load اتفاق می افته؟ روی فرم یک شی OLE دارید؟

f.nabavi
پنج شنبه 09 آبان 1387, 08:46 صبح
یعنی این خطا قبل از روتین Form_Load اتفاق می افته؟

دقیقا.

روی فرم یک شی OLE دارید؟
من فقط یه vsflex , richtxtbox و دارم. :متفکر:

1746alireza
چهارشنبه 22 آبان 1387, 10:41 صبح
احتمالا در هر فرمی که این پیغام رو میده کامپوننتی استفاده کردید که بر روی اون کامپیوتر وجود ندارد و یا ورژن آن قدیمی تر است

f.nabavi
چهارشنبه 22 آبان 1387, 10:59 صبح
ممنون از توجه همه. من مشکلم رو با حذف vsflex و استفاده از msflexgrid حل کردم. مشکل vsflex از تغییر تعداد ردیف ها بود که تو رویداد form load از 1 به n میرسید. راه حلی جز حذف پیدا نکردم و عجیب اینکه همین تغییر تعداد ردیف ها رو در سه تا فرم دیگه هم دارم و اونا مشکلی ندارن...