自己编写的dll,在程序中使用了该dll文件。现在的问题是,所编写的程序在xp系统上运行没有任何问题,但是在2000下面调用自己编写的那个dll时就会提示activex component can't create object。
dll已经注册,那位大虾能给解决一下?谢谢了

解决方案 »

  1.   

    不知你DLL使用了依赖Windows的什么文件,能否列出?可能依赖XP有而2K没有的文件,比如说WIA之类的...
      

  2.   

    我觉得并没有依赖windows的文件。下面是一个函数的代码,其他函数大同小异。
    Function GetInfoX(Optional WhereClause As String = "1=1", Optional FiledList As String = "*")
    Dim MyItemArr() As New HBIM_Market.Trade
    Dim Conn As New ADODB.Connection
    Dim Rs As New ADODB.Recordset
    Conn.Open ConnStr
    Rs.Open "Select " & FiledList & " from Market_Basic_Trade where " & WhereClause & " Order By IOrder", Conn, 3, 2
    If Rs.RecordCount = 0 Then
        'MsgBox "没有符合条件的信息"
        GetInfoX = 0
        Exit Function
    Else
        ReDim MyItemArr(Rs.RecordCount - 1)
        For i = 0 To Rs.RecordCount - 1
            MyItemArr(i).ID = Rs!ID
            MyItemArr(i).Name = Rs!IName
            MyItemArr(i).Code = Rs!ICode
            MyItemArr(i).Order = Rs!IOrder
            Rs.MoveNext
        Next
    End If
    Rs.Close
    Conn.Close
    GetInfoX = MyItemArr
    End Function
      

  3.   

    用到ADO,是不是ADO版本问题?猜而已
      

  4.   

    如果是ado版本的问题,那应该怎么解决,是不是下载最新的补丁安装上?没有这方面的经验。
      

  5.   

    对了,大概应该不是ado版本的问题,因为程序还有其他地方使用了ado,只不过不是通过dll调用的,哪些地方就没有问题。
      

  6.   

    好了,问题解决,谢谢fujihua2001,正如你所言,的确就是ado版本的问题。我的程序用的2.0,但是dll用的是2.7。把dll改称2.0后重新封装就ok了。