把你的 As String 去掉就可以!
vbscript 中,所有变量都是VARIANT,因此要在ASP中访问的
ACTIVEX DLL 的方法也不能指定变量类型。
就写成这样:Public Function cpfile(fpath_s As Variant, fpath_u As Variant)
vbscript 中,所有变量都是VARIANT,因此要在ASP中访问的
ACTIVEX DLL 的方法也不能指定变量类型。
就写成这样:Public Function cpfile(fpath_s As Variant, fpath_u As Variant)
Public Sub getfile(strSfile As Variant, strUfile As Variant)
Dim b() As Byte
b() = Inet1.OpenURL(strSfile, icByteArray)
Open strUfile For Binary As #1
Put #1, , b()
Close #1
MsgBox "done"
End Sub注册后在asp中调用:
<%
Dim obj
'on error resume next
Set obj= Server.CreateObject("MY.conn")
dim url1
dim url2
url1="210.197.102.100/index.html"
url2="c:\temp\index.htm"
obj.getfile url1,url2
set obj=nothing
%>产生的错误如下:
Microsoft VBScript runtime (0x800A000D)
Type mismatch: 'getfile'
把obj.getfile url1,url2改为:
dim result
result=obj.getfile(CStr(url1),CStr(url2))
比如:InetCtlsObjects.Inet
set inet1 as new InetCtlsObjects.Inet
或
dim inet1 as object
set inet1 =new InetCtlsObjects.Inet
都不行。
谁能指点迷津。