.dll文件用asp调用有 automation 错误,是那里出的问题呀。
我用vb编写了一个具有修改本地ip功能的ChangeIp.dll文件,在vb里可以使用该文件成功的修改了本机ip,但是我用asp调用该.dll文件时却出错,错误提示是 “ChangeIp 错误,automaition 错误。”这是怎么回事呀,我都郁闷了两天了,希望高手能够帮忙解决!!! 问题点数:0、回复次数:5Top
1 楼aohan(aohan)回复于 2004-12-04 19:22:10 得分 0
关注Top
2 楼babyt(阿泰)回复于 2004-12-04 20:27:37 得分 0
还是贴代码出来比较实际啊:)Top
3 楼keyton334(dundun)回复于 2004-12-04 21:16:55 得分 0
好的
.dll工程里有一个“Module1”模块和一个“ChangeIPClass”类模块
------------------------------------------------------
“Module1”模块下的代码如下:
Option Explicit
Public Sub Main()
End Sub
----------------------------------------------------------
“ChangeIPClass”类模块下的代码:
Option Explicit
Public Function change(ByVal IP As String, ByVal Submask As String, ByVal Gateway As String, ByVal Mdns As String, ByVal Sdns As String)
Dim objWMIService, colNetAdapters, strIPAddress, strSubnetMask
Dim objNetAdapter, colComputers, ObjComputer
Dim errEnable As Integer
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
For Each objNetAdapter In colNetAdapters
errEnable = objNetAdapter.EnableStatic(Array(IP), Array(Submask)) 'IP和子网
DoEvents
objNetAdapter.SetGateways Array(Gateway), Array(1) '网关
DoEvents
objNetAdapter.SetDNSServerSearchOrder Array(Mdns, Sdns) '可能要设成数组
Next
' Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
' Set colComputers = objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
' For Each ObjComputer In colComputers
' ObjComputer.Rename (name)
' Next
End Function
---------------------------------------------------------------------------------
让后生成changeip.dll 文件里,用asp调用该.dll文件
asp调用代码如下:
<BODY>
<%
set ggg=server.CreateObject("ChangeIp.changeipclass")
'set NETWork=server.createobject("Net.NETWork")
ggg.Change "192.168.8.168","255.255.255.0","192.168.8.2","192.168.8.3","192.168.8.4"
if err.number="" then
response.write "ok"
else
response.write "No"
end if
%>
</BODY>
却出以上的错误!!!
Top
4 楼babyt(阿泰)回复于 2004-12-05 01:14:54 得分 0
到这里的问题,应该是WMI的问题了
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
折腾了好一会也没搞定,看来当不了高手了,呵呵 ^_^
Top
5 楼keyton334(dundun)回复于 2004-12-06 21:01:19 得分 0
那位高手帮帮忙呀,还没解决Top




