首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

dll调用有关问题求救

2012-02-15 
dll调用问题求救.本人正在学习asp封装成dll,当打开sayhello.asp的时候出现的错误提示如下:Server 对象, AS

dll调用问题求救.
本人正在学习asp封装成dll,当打开sayhello.asp的时候出现的错误提示如下:
Server 对象, ASP 0177 (0x800401F3)
无效的类别字符串 
/sayhello.asp, 第 8 行
请问是什么原因?

sayhello.asp源文件
<html>
<head>
sayhello
</head>
<body>
<%
 dim ObjReference
 Set ObjReference = Server.CreateObject("productivity.chklogin")
 ObjReference.sayhello
 set objreference = nothing
%>
</body>
</html>

productivity.dll源文件

Private myscriptingcontext As ScriptingContext
Private myapplication As Application
Private myrequest As Request
Private myresponse As Response
Private myserver As Server
Private mysession As Session

Public Sub onstarpage(passedscriptingcontext As ScriptingContext)
 Set myscriptingcontext = passedscriptingcontext
 Set myapplication = myscriptingcontext.Application
 Set myrequest = myscriptingcontext.Request
 Set myresponse = myscriptingcontext.Response
 Set mysession = myscriptingcontext.Session
End Sub

Public Sub onendpage()
 Set myscriptingcontext = Nothing
 Set myapplication = Nothing
 Set myrequest = Nothing
 Set myresponse = Nothing
 Set mysession = Nothing
End Sub

Public Sub sayhello()
 myresponse.Write ("您好!")
End Sub

[解决办法]
几个可能性.
1、DLL没有注册
2、DLL可能放到了NTFS分区的某个目录中,可能是NTFS文件系统的安全配置没弄好,最好把DLL放到System32目录中再注册使用,还有如果放到FAT分区中注册最好
3、创建的对象名称错误。通常VB开发的这种COM组件的命名是 工程名.类名 创建的,比如工程名是
MyLIB,而程序中使用的类名是 MyClass,那么创建用的名称就是 MyLIB.MyClass。
如果上面都不能解决,也可以看看这样使用:
Set ObjReference = CreateObject("productivity.chklogin")
[解决办法]
chklogin不会是私有的吧?

热点排行