Dim ObjTotest(26,4)

ObjTotest(0,0) = "MSWC.AdRotator"
ObjTotest(1,0) = "MSWC.BrowserType"
ObjTotest(2,0) = "MSWC.NextLink"
ObjTotest(3,0) = "MSWC.Tools"
ObjTotest(4,0) = "MSWC.Status"
ObjTotest(5,0) = "MSWC.Counters"
ObjTotest(6,0) = "IISSample.ContentRotator"
ObjTotest(7,0) = "IISSample.PageCounter"
ObjTotest(8,0) = "MSWC.PermissionChecker"
ObjTotest(9,0) = "Scripting.FileSystemObject"
    ObjTotest(9,1) = "(FSO 文本文件读写)"
ObjTotest(10,0) = "adodb.connection"
    ObjTotest(10,1) = "(ADO 数据对象)"
    
ObjTotest(11,0) = "SoftArtisans.FileUp"
    ObjTotest(11,1) = "(SA-FileUp 文件上传)"
ObjTotest(12,0) = "SoftArtisans.FileManager"
    ObjTotest(12,1) = "(SoftArtisans 文件管理)"
ObjTotest(13,0) = "LyfUpload.UploadFile"
    ObjTotest(13,1) = "(刘云峰的文件上传组件)"
ObjTotest(14,0) = "Persits.Upload.1"
    ObjTotest(14,1) = "(ASPUpload 文件上传)"
ObjTotest(15,0) = "w3.upload"
    ObjTotest(15,1) = "(Dimac 文件上传)"

ObjTotest(16,0) = "JMail.SmtpMail"
    ObjTotest(16,1) = "(Dimac JMail 邮件收发) <a href='http://www.ajiang.net'>中文手册下载</a>"
ObjTotest(17,0) = "CDONTS.NewMail"
    ObjTotest(17,1) = "(虚拟 SMTP 发信)"
ObjTotest(18,0) = "Persits.MailSender"
    ObjTotest(18,1) = "(ASPemail 发信)"
ObjTotest(19,0) = "SMTPsvg.Mailer"
    ObjTotest(19,1) = "(ASPmail 发信)"
ObjTotest(20,0) = "DkQmail.Qmail"
    ObjTotest(20,1) = "(dkQmail 发信)"
ObjTotest(21,0) = "Geocel.Mailer"
    ObjTotest(21,1) = "(Geocel 发信)"
ObjTotest(22,0) = "IISmail.Iismail.1"
    ObjTotest(22,1) = "(IISmail 发信)"
ObjTotest(23,0) = "SmtpMail.SmtpMail.1"
    ObjTotest(23,1) = "(SmtpMail 发信)"
    
ObjTotest(24,0) = "SoftArtisans.ImageGen"
    ObjTotest(24,1) = "(SA 的图像读写组件)"
ObjTotest(25,0) = "W3Image.Image"
    ObjTotest(25,1) = "(Dimac 的图像读写组件)"

public IsObj,VerObj,TestObj

'检查预查组件支持情况及版本

dim i
for i=0 to 25
    on error resume next
    IsObj=false   ' 其中ObjTotest是一个检查组件的数组
                      'IsObj应该是判断组件是否可用
    VerObj=""       
    'dim TestObj
    TestObj=""
    set TestObj=server.CreateObject(ObjTotest(i,0))
    If -2147221005 <> Err then        '感谢网友iAmFisher的宝贵建议
        IsObj = True
        VerObj = TestObj.version
        if VerObj="" or isnull(VerObj) then VerObj=TestObj.about
    end if
    ObjTotest(i,2)=IsObj
    ObjTotest(i,3)=VerObj
next

'检查组件是否被支持及组件版本的子程序
sub ObjTest(strObj)
    on error resume next
    IsObj=false
    VerObj=""
    TestObj=""
    set TestObj=server.CreateObject (strObj)
    If -2147221005 <> Err then        '感谢网友iAmFisher的宝贵建议
        IsObj = True
        VerObj = TestObj.version
        if VerObj="" or isnull(VerObj) then VerObj=TestObj.about
    end if    
End sub
%>详解一下后两段程序