把你的 As String 去掉就可以!
vbscript 中,所有变量都是VARIANT,因此要在ASP中访问的
ACTIVEX DLL 的方法也不能指定变量类型。
就写成这样:Public Function cpfile(fpath_s As Variant, fpath_u As Variant)

解决方案 »

  1.   

    不行呀。我的dll编译之前代码如下:
    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'
      

  2.   

    不用改原函数。
    把obj.getfile url1,url2改为: 
    dim result
    result=obj.getfile(CStr(url1),CStr(url2))
      

  3.   

    怎样在class中定义一个控件呢?
    比如:InetCtlsObjects.Inet
    set inet1 as new InetCtlsObjects.Inet

    dim inet1 as object
    set inet1 =new InetCtlsObjects.Inet
    都不行。
    谁能指点迷津。