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文件应该没有错误,它是安装一个软件后得到的。
请问各位如何解决啊?
这个dll文件应该没有错误,它是安装一个软件后得到的。
请问各位如何解决啊?
不是该类型的。查看一下该软件的相关文档吧,这个DLL可能是需要在代码中Declare申明的。
小弟初学,不懂啊,请指教!
----------------------
是这样吧:
Private Declare Function 函数名 Lib "DLL名" (有参数的话,把参数的声明写上)'有返回值的话,后面接上: As 返回类型
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
Viewer,载入API的文本,选择declare,参考这些API是如何申明的。
刚才的没写完,重写:
有一个使用这个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不能满足我的要求?
我该如何做?
---------------------
那这个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就出错了。