nexpay

سیو میکنم و اجرا میکنم ارور میده!!!کمک لطفآ EXE وقتی برنامه رو

شروع موضوع توسط dollarist ‏2 ژانویه 2006 در انجمن Visual Basic 6

  1. dollarist

    dollarist Registered User

    تاریخ عضویت:
    ‏28 نوامبر 2005
    نوشته ها:
    209
    تشکر شده:
    39
    vaghti barname ro ejra mikonam error "Class not register.........." va ya "connot create Active X
    این یه برنامه ی دیکشنری خیلی ساده هستش که پایگاه دادش با اکسس 97 هستش. رو سیستم من هیچ مردی نداره و برنامه خیلی راحت اجرا میشه اما رو سیستمهای دیگه همش یکی از ایون دو ارور رو میده
    لطفآ کمکم کنید.
    اینم لیست کامل کد برنامه:
    Private Sub print1(rs)
    Text1.Text = rs("englishwords")
    Text2.Text = rs("persiantext")

    End Sub

    Private Sub Command1_Click()
    Dim s As String
    Set db = OpenDatabase("c:\db3.mdb")
    Set rs = db.OpenRecordset("allwords", dbOpenDynaset)
    s = InputBox("Enter word to search")
    s = "englishwords='" + s + "'"
    rs.FindFirst s
    If rs.NoMatch Then
    MsgBox ("This word is not your data base")
    Else
    Call print1(rs)
    End If
    db.Close
    End Sub

    Private Sub Command2_Click()
    Dim s As String
    Set db = OpenDatabase("c:\db3.mdb")
    Set rs = db.OpenRecordset("allwords", dbOpenDynaset)
    s = InputBox("Enter word to search")
    s = "persiantext='" + s + "'"
    rs.FindFirst s
    If rs.NoMatch Then
    MsgBox ("This word is not your data base")
    Else
    Call print1(rs)
    End If
    db.Close
    End Sub

    Private Sub Command3_Click()
    Data1.Recordset.AddNew
    Data1.Refresh
    End Sub

    Private Sub Command4_Click()
    Data1.Recordset.Delete
    Data1.Refresh
    End Sub

    Private Sub Command5_Click()
    End
    End Sub

    Private Sub English_Click()
    menu.Caption = "Menu"
    lc.Caption = "Language"
    Farsi.Caption = "Farsi"
    Farsi.Checked = False
    English.Checked = True
    English.Caption = "English"
    Label1.Caption = "English"
    Label2.Caption = "Persian"
    Command1.Caption = "Search"
    Command2.Caption = "serach"
    Command3.Caption = "Add word"
    Command4.Caption = "Delete word"
    Command5.Caption = "Exit"
    End Sub

    Private Sub Farsi_Click()
    menu.Caption = "ãäæ"
    lc.Caption = "ÒÈÇä"
    Farsi.Caption = "ÝÇÑÓí"
    Farsi.Checked = True
    English.Checked = False
    English.Caption = "ÇäáíÓí"
    Label1.Caption = "ÇäáíÓí"
    Label2.Caption = "ÝÇÑÓí"
    Command1.Caption = "ÌÓÊÌæ"
    Command2.Caption = "ÌÓÊÌæ"
    Command3.Caption = "ÇÝÒæÏä æÇŽå"
    Command4.Caption = "ÍÐÝ æÇŽå"
    Command5.Caption = "ÎÑæÌ"
    End Sub

    Private Sub Form_Load()
    Dim db As Database
    Dim rs As Recordset
    End Sub
     
  2. mostafa_gm

    mostafa_gm Registered User

    تاریخ عضویت:
    ‏4 آپریل 2005
    نوشته ها:
    1,718
    تشکر شده:
    231
    محل سکونت:
    My House
    خوب طبیعیه که رو سیستم شما کار میکنه چون شما VB رو کامل نصب کردین ولی برای اجرا رو سیستمهای دیگه که VB روشون نیست باید برای برنامتون Setup بسازید.
     
  3. dollarist

    dollarist Registered User

    تاریخ عضویت:
    ‏28 نوامبر 2005
    نوشته ها:
    209
    تشکر شده:
    39
    میشه بیشتر منو راهنمایی کنید؟
    من دقیقآ نمیدونم باید چیکار کنم .
    این برنامه ی پروژه ی دانشگاهی هستش
     
  4. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,344
    تشکر شده:
    1,314
    محل سکونت:
    یه خورده اونورتر
    با Package & Deployment Wizard یه ستاپ برای اگزه بساز. این خطا نشون میده که یه اکتیو ایکس توش استفاده کردی که در سیستم مقصد وجود نداره یا ثبت نشده.
     
  5. dollarist

    dollarist Registered User

    تاریخ عضویت:
    ‏28 نوامبر 2005
    نوشته ها:
    209
    تشکر شده:
    39
    میشه بیشتر منو راهنمایی کنید. من چیز زیادی از ActiveXنمیدونم و اولین با هستش که با پایگاه داده کار برنامه مینویسم.
     
  6. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,344
    تشکر شده:
    1,314
    محل سکونت:
    یه خورده اونورتر
    شما از منوی پروژه ، Componentsی اضافه کردی؟ اگر اضافه کردی باید توی سیستم مقصد هم باشه. اگر یه ستاپ درست کنید همه چیزهایی که لازمه خودش پک میکنه.

    کلیه اکتیو ایکسهای تیک دار توی Components باید روی سیستم مقصد هم نصب بشه. برای توضیح بیشتر هم لطفا ارورر کامل رو بگذارید بعد هم ببینید توی کامپوننتز چه چیزهایی تیک دارن بگید.
     
  7. mostafa_gm

    mostafa_gm Registered User

    تاریخ عضویت:
    ‏4 آپریل 2005
    نوشته ها:
    1,718
    تشکر شده:
    231
    محل سکونت:
    My House
    شما وقتی شی database یا recordset تعریف میکنی از کلاسهایی استفاده میکنی که تو یه سری فایلهایی که با نصب VB به کامپیوتر شما اضافه میشن تعریف شدن ولی این فایلها و متدهای دسترسی به دیتابیس روی یه سیستم دیگه که شما برنامه رو روش اجرا میکنید وجود ندارن بنابراین باید شما یه برنامه Setup بسازید که همه فایلهای مورد نیاز رو اونجا کپی کنه و یه تغییراتی هم توی رجیستری انجام بده تا برنامه بتونه اجرا بشه.
    اگه موقع نصب ویژوال بیسیک Tool ها رو هم نصب کرده باشید باید برنامه Package and Deployment Wizard رو تو این فولدر بتونید پیدا کنید Microsoft Visual Studio\VB98\Wizards\PDWizard\PDCMDLN.EXE با اجرا کردن این فایل و انتخاب فایل پروژه تون روی دکمه Package کلیک میکنید و جلو میرید تا جایی که به یه صفحه میرسید که همه فایلهای پروژه رو اونجا میتونید ببینید تو صفحه بعدش مسیر این فایلها و مسیر نصب رو نوشته و میشه تغییرشون داد یا یه فایل اضافه کرد. تو این صفحه باید فایل mdb پروژه تون رو اضافه کنید و مسیر نصبش رو هم تعیین کنید بعدش Setup ساخته میشه و شما میتونید با اجرای این برنامه Setup رو هر کامپیوتری برنامه تون رو اجرا کنید مثل همه برنامه های تحت ویندوز.
     
  8. dollarist

    dollarist Registered User

    تاریخ عضویت:
    ‏28 نوامبر 2005
    نوشته ها:
    209
    تشکر شده:
    39
    آقا یه دنیا ممنون. خوش باشید
     
  9. ParsPc

    ParsPc کاربر تازه وارد

    تاریخ عضویت:
    ‏4 مارس 2006
    نوشته ها:
    8
    تشکر شده:
    0
    میشه راجع به رجیستر کردن یه اکتیوایکس هم یه توضیحی بدین؟
    من یه برنامه داشتم رو سیستم خودم کار میکرد رو سیستم دیگران نه! با اینکه تمام اکتیوایکس ها و دی ال ال های لازم رو هم با برنامه نصب همراش کپی میکردم. ولی انگار می گفت باید اکتیوایکس رجیستر بشه!
    ممنون!
     
  10. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,344
    تشکر شده:
    1,314
    محل سکونت:
    یه خورده اونورتر
    رجیستر کردن یعنی ثبت اون دی ال ال در رجیستری ویندوز. اگر اون مشکل بوجود میومده به احتمال زیاد ورژن دی ال ال در کامپیوتر مقصد متفاوت بوده و ایجاد تداخل میکرده. در واقع برای ریجستر کردن دستی یک دی ال ال یا اکتیو ایکس مثلا به اسم c:\myactivex.ocx باید این فرمان رو اجرا کرد:

    کد:
    regsvr32 "c:\myactivex.ocx" 
    برای unregister کردن:

    کد:
    regsvr32 /u "c:\myactivex.ocx"
    برای یک چنین مواقعی بهتره اول فایل رو بطور دستی آن ریجستر و بعد ریجستر کرد.
     
zarpopخرید بک لینک عسل طبیعی و گرده گل ایرانیfootbal