已注册mswinsck.ocx文件,为何还提示类别未注册?

hyljyrw 2005-11-14 03:43:53
已注册mswinsck.ocx文件,为何还提示类别未注册?
在开发的机器上运行正常。把程序拷到别的机器上,总是报错,提示类别未注册。我肯定是winsock控件的问题,可是ocx文件也拷过去了,也用regsvr32.exe注册了,也提示注册成功了。
可是为何还报错呀?别的控件未遇到过此问题。
...全文
1208 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
hyljyrw 2005-11-15
  • 打赏
  • 举报
回复
谢谢,楼上好贴也。
明天结贴。
hyljyrw 2005-11-15
  • 打赏
  • 举报
回复
谢谢zsjiaming(路口就在不远处),你的贴子给了我很多帮助。
我现在的办法是用可视化的加在表单里了,如果这样可以我就不用代码建立了。以前不用可视化方法建立的原因就是想提高效率。没想到不行。
我还想问一下:除了winsock控件,还有别的哪种控件存在这种情况呀?谢谢了。
zsjiaming 2005-11-15
  • 打赏
  • 举报
回复
可视化建立的winsock连编成EXE时据说会自动带上授权密钥.

(1)方法1:你可以用可视化来代替现在的代码,
或者...
(2)方法2:用可视化初始(在第一个表单,你可以只是简单调用再结束(为了让EXE带上密钥),
在正试使用WINSOCK的地方还是按现在的方法使用试一试......

测试后说一下结果....
hyljyrw 2005-11-15
  • 打赏
  • 举报
回复
据说是开发许可与运行许可的问题,在装了vfp的机器具有开发许可,所以可以用代码建立winsck控件,在没装vfp的机器上只有运行许可,所以只用用可视化形式建立winsock控件而不能用代码创建。这种说法不知正确否?
还有:如果是这样,有什么解决办法么?
zsjiaming 2005-11-15
  • 打赏
  • 举报
回复
这是6.0带的控件的授权密钥.用到这些控件,如果是代码式的都要自已加授权密钥到注册表中
不过,这里面的控件大部分会被一些软件自己注册了,所以你可能不会全部要自己带授权密钥.


// Masked Edit Control 6.0 license key
HKEY_CLASSES_ROOT\Licenses\BC96F860-9928-11cf-8AFA-00AA00C00905 = mmimfflflmqmlfffrlnmofhfkgrlmmfmqkqj

// Chart Control 6.0 (OLEDB) license key
HKEY_CLASSES_ROOT\Licenses\12B142A4-BD51-11d1-8C08-0000F8754DA1 = aadhgafabafajhchnbchehfambfbbachmfmb

// Common Dialog Control 6.0 license key
HKEY_CLASSES_ROOT\Licenses\4D553650-6ABE-11cf-8ADB-00AA00C00905 = gfjmrfkfifkmkfffrlmmgmhmnlulkmfmqkqj

// ADO Data Control 6.0 (OLEDB) license key
HKEY_CLASSES_ROOT\Licenses\C4145310-469C-11d1-B182-00A0C922E820 = konhqhioohihphkouimonhqhvnwiqhhhnjti

// Common Controls-3 6.0 license key
HKEY_CLASSES_ROOT\Licenses\38911DA0-E448-11D0-84A3-00DD01104159 = mcpckchcdchjcjcclidcgcgchdqdcjhcojpd

// Windows Common Controls-2 5.0 (SP2) license key
HKEY_CLASSES_ROOT\Licenses\9E799BF1-8817-11cf-958F-0020AFC28C3B = uqpqnqkjujkjjjjqwktjrjkjtkupsjnjtoun

// Windows Common Controls license key
HKEY_CLASSES_ROOT\Licenses\57CBF9E0-6AA7-11cf-8ADB-00AA00C00905 = aahakhchghkhfhaamghhbhbhkbpgfhahlfle

// Data Bound Grid Control 5.0(SP3) license key
HKEY_CLASSES_ROOT\Licenses\556C75F1-EFBC-11CF-B9F3-00A0247033C4 = xybiedobrqsprbijaegcbislrsiucfjdhisl

// Data Bound List Controls 6.0 license key
HKEY_CLASSES_ROOT\Licenses\096EFC40-6ABF-11cf-850C-08002B30345D = knsgigmnmngnmnigthmgpninrmumhgkgrlrk

// Internet Transfer Control 6.0 license key
HKEY_CLASSES_ROOT\Licenses\78E1BDD1-9941-11cf-9756-00AA00C00908 = yjrjvqkjlqqjnqkjvprqsjnjvkuknjpjtoun

// Multimedia Control 6.0 license key
HKEY_CLASSES_ROOT\Licenses\B1EFCCF0-6AC1-11cf-8ADB-00AA00C00905 = qqkjvqpqmqjjpqjjvpqqkqmqvkypoqjquoun

// Chart Control 6.0 license key
HKEY_CLASSES_ROOT\Licenses\7C35CA30-D112-11cf-8E72-00A0C90F26F8 = whmhmhohmhiorhkouimhihihwiwinhlosmsl

// Windows Common Controls-2 6.0 license key
HKEY_CLASSES_ROOT\Licenses\4F86BADF-9F77-11d1-B1B7-0000F8753F5D = iplpwpnippopupiivjrioppisjsjlpiiokuj

// Windows Common Controls 6.0 license key
HKEY_CLASSES_ROOT\Licenses\ED4B87C4-9F76-11d1-8BF7-0000F8754DA1 = knlggnmntgggrninthpgmnngrhqhnnjnslsh

// Comm Control 6.0 license key
HKEY_CLASSES_ROOT\Licenses\4250E830-6AC2-11cf-8ADB-00AA00C00905 = kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun

// DataGrid Control 6.0 (OLEDB) license key
HKEY_CLASSES_ROOT\Licenses\CDE57A55-8B86-11D0-b3C6-00A0C90AEA82 = ekpkhddkjkekpdjkqemkfkldoeoefkfdjfqe

// DataList Control 6.0 (OLEDB) license key
HKEY_CLASSES_ROOT\Licenses\A133F000-CCB0-11d0-A316-00AA00688B10 = cibbcimbpihbbbbbnhdbeidiocmcbbdbgdoc

// DBWin license key
HKEY_CLASSES_ROOT\Licenses\D015B071-D2ED-11d0-A31A-00AA00688B10 = gjdcfjpcmjicjcdcoihcechjlioiccechepd

// MSDBRPT license key
HKEY_CLASSES_ROOT\Licenses\9DF1A470-BA8E-11D0-849C-00A0C90DC8A9 = cchcqjejhcgcqcfjpdfcdjkckiqikchcojpd

// FlexGrid Control 6.0 license key
HKEY_CLASSES_ROOT\Licenses\72E67120-5959-11cf-91F6-C2863C385E30 = ibcbbbebqbdbciebmcobmbhifcmciibblgmf

// MAPI Controls 6.0 license key
HKEY_CLASSES_ROOT\Licenses\899B3E80-6AC6-11cf-8ADB-00AA00C00905 = wjsjjjlqmjpjrjjjvpqqkqmqukypoqjquoun

// MSRDO 2.0 license key
HKEY_CLASSES_ROOT\Licenses\B1692F60-23B0-11D0-8E95-00A0C90F26F8 = mjjjccncgjijrcfjpdfjfcejpdkdkcgjojpd

// RemoteData Control 6.0 license key
HKEY_CLASSES_ROOT\Licenses\43478d75-78e0-11cf-8e78-00a0d100038e = imshohohphlmnhimuinmphmmuiminhlmsmsl

// Windowless Controls 6.0 license key
HKEY_CLASSES_ROOT\Licenses\80E80EF0-DBBE-11D0-BCE2-00A0C90DCA10 = qijimitpmpnpxplpvjnikpkpqoxjmpkpoivj

// PictureClip Control 6.0 license key
HKEY_CLASSES_ROOT\Licenses\6FB38640-6AC7-11cf-8ADB-00AA00C00905 = gdjkokgdldikhdddpjkkekgknesjikdkoioh

// Rich TextBox Control 6.0 license key
HKEY_CLASSES_ROOT\Licenses\DC4D7920-6AC8-11cf-8ADB-00AA00C00905 = iokouhloohrojhhhtnooiokomiwnmohosmsl

// Sheridan Tab Control license key
HKEY_CLASSES_ROOT\Licenses\190B7910-992A-11cf-8AFA-00AA00C00905 = gclclcejjcmjdcccoikjlcecoioijjcjnhng

// SysInfo Control 6.0 license key
HKEY_CLASSES_ROOT\Licenses\E32E2733-1BC5-11d0-B8C3-00A0C90DCA10 = kmhfimlflmmfpffmsgfmhmimngtghmoflhsg

// Winsock Control 6.0 license key
HKEY_CLASSES_ROOT\Licenses\2c49f800-c2dd-11cf-9ad6-0080c7e7b78d = mlrljgrlhltlngjlthrligklpkrhllglqlrk

tch789 2005-11-15
  • 打赏
  • 举报
回复
关注
zsjiaming 2005-11-14
  • 打赏
  • 举报
回复
上面的注册可以适合用于6.0下带的

MSWINSCK.OCX 109248字节 2000-12-6
zsjiaming 2005-11-14
  • 打赏
  • 举报
回复
简单注册应该不行.

使用的机子要有微软授权的密钥才行:
把下面信息加入注册表试试.

HKEY_CLASSES_ROOT\Licenses\2c49f800-c2dd-11cf-9ad6-0080c7e7b78d = mlrljgrlhltlngjlthrligklpkrhllglqlrk
hyljyrw 2005-11-14
  • 打赏
  • 举报
回复
谢谢十豆三,我反复试了,在装有vfp的机器上没问题,任何一台没装vfp的机器都会出这个提示,我发现我的注册已经起作用了,没注册前,提示类库mswinsck.winsock.1找不到,我用regsvr32注册后,这个提示不出了,出来的提示是:ole错误码是0x80040112,class is not licensed for use,中文提示就是:类别未授权使用。
所以还是授权的问题,请继续指导。
十豆三 2005-11-14
  • 打赏
  • 举报
回复
是不是控件版本不一样。

你就用一个'mswinsck.ocx',和程序放在同一个目录,然后在主程序加我上面的代码来注册。
再试试。
hyljyrw 2005-11-14
  • 打赏
  • 举报
回复
可是把winsock控件放到表单中,编译成exe文件后,在别的机器就能正常。不知何故。
这种情况还不是一台机器,多台机器都这样。
十豆三 2005-11-14
  • 打赏
  • 举报
回复
在我的机子不出现你的现象
hyljyrw 2005-11-14
  • 打赏
  • 举报
回复
谢,两种方法都不行,再指教。
十豆三 2005-11-14
  • 打赏
  • 举报
回复
owinsock = CREATEOBJECT("mswinsock.winsock")
改为:
owinsock = CREATEOBJECT("MSWinsock.Winsock.1")
试试
十豆三 2005-11-14
  • 打赏
  • 举报
回复
通过代码在程序一开始注册试试。
把下面代码加到主程序的开头:


IF FILE('mswinsck.ocx')
oll=CREATEOBJECT('Wscript.shell')
IF oll.RUN("REGSVR32 /S mswinsck.ocx",0,.T.)!=0 &&注册
MESSAGEBOX('控件注册失败!',16,'信息提示')
RELEASE oll
QUIT
ENDIF
*oll.RUN("REGSVR32 /U /S mswinsck.ocx",0,.T.) &&解除注册
RELEASE oll
ELSE
waitstr="缺少 mswinsck.ocx 文件..."
WAIT waitstr WINDOWS AT SROWS()/2,(SCOLS()-LEN(waitstr))/2 TIMEOUT 5
QUIT
ENDIF

hyljyrw 2005-11-14
  • 打赏
  • 举报
回复
已注册mswinsck.ocx文件,为何还提示类别未注册?
在开发的机器上运行正常。把程序拷到别的机器上,总是报错,提示类别未注册。我肯定是winsock控件的问题,可是ocx文件也拷过去了,也用regsvr32.exe注册了,也提示注册成功了。
可是为何还报错呀?别的控件未遇到过此问题。[upload=jpg]UploadFile/2005-11/2005111415444968155.jpg[/upload]
______________________________________________
我又试了一下,如果把winsock放到表单中,到另一台机器上不报错。我报错的winsock是用代码建立的winsock对象。代码如下:
这段代码的作用是先检测是否连网,没连网线则提示:
(在主程序中将这段代码去了就没问题了,所以我想问题就出在以下几行代码中:)

*--首先判断是否连接网络
LOCAL owinsock &&winsock对象
owinsock = CREATEOBJECT("mswinsock.winsock")
IF TYPE("owinsock") # "O"
MESSAGEBOX("WINSOCK对象初始化错误,请注册WINSOCK对象!",16,"系统提示")
RETURN
ENDIF

IF owinsock.localip == "127.0.0.1" OR EMPTY(owinsock.localip)
RELEASE owinsock
IF MESSAGEBOX("网络连接错误,该机器没有连接网线,是否继续?" + CHR(13) + "正常情况下您应该选择“否”来退出,然后联系相关技术人员!",4+16+256,"提示") <> 6
RETURN
ENDIF
ENDIF

2,723

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧