1)我在vb菜单中Reference一个dll文件时出错:“Can't add a reference to the specified file.”2)在Component Services中添加这个dll文件时出错:“One or more files do not contain components or type libraries. These files cannot be installed.”
这个dll文件应该没有错误,它是安装一个软件后得到的。
请问各位如何解决啊?

解决方案 »

  1.   

    把那个DLL注册看看,可能文件有错误
      

  2.   

    VB中的Reference和Components要引入的文件都是COM的,出现该错误提示显然表明你这个DLL
    不是该类型的。查看一下该软件的相关文档吧,这个DLL可能是需要在代码中Declare申明的。
      

  3.   

    我用命令regsvr32不能注册,显示:“This file” was loaded, but the DllRegisterServer entry point was not found.”这个文件应该不是COM的吧?我怎样在代码中Declare申明啊?
    小弟初学,不懂啊,请指教!
      

  4.   

    我怎样在代码中Declare申明啊?
    ----------------------
    是这样吧:
    Private Declare Function 函数名 Lib "DLL名" (有参数的话,把参数的声明写上)'有返回值的话,后面接上: As 返回类型
      

  5.   

    有一个使用这个dll文件的窗口程序的例子代码,它有几个事件方法:
    clnLlpClient_Connected,clnLlpClient_MessageReceived,clnLlpClient_ErrorReceived,clnLlpClient_DataIgnored,clnLlpClient_Closed。我现在要把它们都做到组件中。我在我的组件中声明的一个方法如下:
    Private Declare Sub clnLlpClient_MessageReceived_
        Lib "DllFileName" ( _
        ByVal message As String)我觉得用Delcare申明的方法只能“手动”的调用,比如:
    Private Sub Class_Initialize()
      Call clnLlpClient_MessageReceived("Message")
    End Sub
      

  6.   

    先查看如何使用你这个DLL的文档吧申明楼上已经说得很清楚了,还不会,那就用VB的Add-ins-->Add-ins manager...-->API 
    Viewer,载入API的文本,选择declare,参考这些API是如何申明的。
      

  7.   

    没有这个DLL的文档,只有一个窗口的例子。
    刚才的没写完,重写:
    有一个使用这个dll文件的窗口程序的例子代码,它有几个事件方法:
    clnLlpClient_Connected,clnLlpClient_MessageReceived,clnLlpClient_ErrorReceived,clnLlpClient_DataIgnored,clnLlpClient_Closed。我现在要把它们都做到组件中。我在我的组件中声明的一个方法如下:
    Private Declare Sub clnLlpClient_MessageReceived_
        Lib "DllFileName" ( _
        ByVal message As String)我觉得用Delcare申明的方法只能“手动”的调用,比如:
    Private Sub Class_Initialize()
      Call clnLlpClient_MessageReceived("Message")
    End Sub而我想重新实现这个事件方法,比如:
    Private Sub clnLlpClient_MessageReceived(byval strMsg as string)
        'My code
    End Sub是不是用Declare不能满足我的要求?
    我该如何做?
      

  8.   

    而我想重新实现这个事件方法
    ---------------------
    那这个DLL还有什么用呢
      

  9.   

    clnLlpClient_MessageReceived是客户端接收服务器端返回消息的事件。我觉得在这个dll中应该有一些客户端运行需要的东西。
    如果要我自己实现clnLlpClient_MessageReceived,我不会啊。
    没有文档,只有例子程序。现在这个dll文件是第二个版本。原来那个第一个版本的dll文件能在vb菜单中的Reference引用,也能在Component Services中添加。但现在这个版本的dll不能了。
    原版本的例子可以初始化一个Connection变量,如下:
    Private WithEvents Connection As NEThl7ClientSocket
    Private Sub Connection_OnMessage(ByVal strRec As String)
      'My code
    End Sub而现在版本的例子直接就给出clnLlpClient_MessageReceived方法,而且我调不通。
    在初始化时调用clnLlpClient.IsConnected就出错了。