开发者

VB6 not recognizing ADODB enumerators via COM

I am supporting a legacy ASP page which creates an ADODB stream object like this, then attempts to set it's type with an ADODB enumerator.

Set BinaryStream = Server.CreateObject("ADODB.Stream")
BinaryStream.Type = adTypeBinary

Whenever I run this I get the following error:

Variable is undefined: 'adTypeBinary'

However, if I explicitly name my enumerator, like this, it works

 BinaryStream.Type = ADODB.StreamTypeEnum.adTypeBinary

This is running on several instances of servers, which are theoretically all in sync in terms of configuration and files and such. Th开发者_如何学Cis works on all the servers except one, and I'm not sure what we did to have this start happening. I can confirm this is happening to at least one other library we use. What is going on here? Thanks!


AFAIK outside of an external include that defines those values, the only way that you can use unqualified members like that is to define a typelib reference in your global.asa:

<!--METADATA TYPE="typelib" 
NAME="Microsoft ActiveX Data Objects 2.8 Library" 
UUID="{2A75196C-D9EB-4129-B803-931327F72D5C}" 
VERSION="2.8"-->
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜