Stone 2008-6-6 15:36
求解
Mail工程打包後到別的機器安裝後,提示执行阶段错误’429’ ActiveX元件无法产生物件~~~程序已經附帶~~~急,急,急,急,急~~~
王懿 2008-6-6 20:33
VB6Cli.exe 修复了 Visual Basic 6.0 中的许可证问题
VB6Cli.exe 修复了 Visual Basic 6.0 中的许可证问题
什么是 VB6Cli.exe?VB6Cli.exe 是一种实用工具,它用于修复随 Microsoft Visual Basic 6.0 一起发行的 ActiveX控件中的设计阶段许可证问题。此工具不会修复第三方控件以及 Microsoft Visual Basic 6.0通常情况下不予安装的控件,也不允许使用 Visual Basic 6.0 专业版中的远程数据对象 (RDO) 对象。如果尝试使用 VisualBasic 6.0 专业版中的 RDO,则还可能遇到下面的症状 II 和症状 IV。启用 RDO 的唯一方法是安装 Visual Basic6.0 企业版。
VB6Cli.exe 可帮助解决下列症状中的问题:症状 I 当尝试在项目中安置控件时,Microsoft Visual Basic 将显示下面的错误对话框:License Information For This Component Not Found.You Do Not Have AnAppropriate License To Use This Functionality In The Design Environment.
症状 II 当尝试编译项目时,Microsoft Visual Basic 将显示下面的错误对话框: Compile Error :Permission Denied
症状 III 当使用应用程序向导时,Microsoft Visual Basic 将显示与以下内容类似的错误对话框: 60: Method ~ of Object ~ failed
症状 IV 当尝试运行项目时,Microsoft Visual Basic 将显示下面的错误对话框: Runtime Error '429' :ActiveX Component Can't Create Object
VB6Cli.exe 可以与哪些 ActiveX 控件一起使用? 下面是 VB6Cli.exe 可以修复的 ActiveX 控件的列表:ActiveX 控件 文件名 版本号 版本类型
-------------------------------------------------------------------------------
ADO Data Control 6.0 MSADODC.OCX 6.00.8171 L,P,E
Chart Control 6.0 MSCHRT20.OCX 6.00.8177 P,E
Comm Control 6.0 MSCOMM32.OCX 6.00.8169 P,E
Common Dialog Control 6.0 COMDLG32.OCX 6.00.8169 L,P,E
Data Bound List Controls 6.0 DBLIST32.OCX 6.00.8169 L,P,E
DataGrid Control 6.0 MSDATGRD.OCX 6.00.8169 L,P,E
DataList Controls 6.0 MSDATLST.OCX 6.00.8169 L,P,E
DataRepeater Control 6.0 MSDATREP.OCX 6.00.8169 P,E
FlexGrid Control 6.0 MSFLXGRD.OCX 6.00.8169 L,P,E
Hierarchical FlexGrid Control 6.0 MSHFLXGD.OCX 6.00.3005 L,P,E
Internet Transfer Control 6.0 MSINET.OCX 6.00.8169 P,E
MAPI Controls 6.0 MSMAPI32.OCX 6.00.8169 P,E
Masked Edit Control 6.0 MSMASK32.OCX 6.00.8169 P,E
Multimedia Control 6.0 MCI32.OCX 6.00.8169 P,E
PictureClip Control 6.0 PICCLP32.OCX 6.00.8169 P,E
RemoteData Control 6.0 MSRDC20.OCX 6.00.8169 E
Rich Textbox Control 6.0 RICHTX32.OCX 6.00.8169 L,P,E
SysInfo Control 6.0 SYSINFO.OCX 6.00.8169 P,E
Tabbed Dialog Control 6.0 TABCTL32.OCX 6.00.8169 L,P,E
Windows Common Controls-3 6.0 COMCT332.OCX 6.00.8169 P,E
Windows Common Controls 5.0 (SP2) COMCTL32.OCX 6.00.8022 L,P,E
Windows Common Controls 6.0 MSCOMCTL.OCX 6.00.8177 L,P,E
Windows Common Controls-2 5.0 (SP2) COMCT232.OCX 6.00.8022 L,P,E
Windows Common Controls-2 6.0 MSCOMCT2.OCX 6.00.8177 L,P,E
Winsock Control 6.0 MSWINSCK.OCX 6.00.8169 P,E
L = 标准版
P = 专业版
E = 企业版
如何使用 VB6Cli.exe? VB6Cli.exe 要求在将使用此实用工具的系统上安装 Microsoft Visual Basic 6.0 的一个版本。
在运行 VB6Cli.exe 实用工具之前,确保没有运行其他应用程序。
只须在 Windows 资源管理器中双击 VB6Cli.exe 即可。此实用工具将检测 Microsoft Visual Basic 6.0,并安装检测到的版本所需的设计阶段许可证。
如果成功,您会看到与以下内容类似的对话框: "Enterprise Design Licenses Have Been Installed Successfully"
VB6Cli.exe 还提供了一种安静模式使用方法。从命令提示符处使用“/q”运行 VB6Cli.exe,这样无需任何用户界面即可运行此实用工具。其他应用程序可以捕获和使用结果代码,以测试许可证是否已安装。
王懿 2008-6-6 21:41
OK__a3
解决了:
首先在工程——部件——控件里在microsoft winsock control 6.0前面勾上,
然后在窗体frmmain中加入winsock控件Winsock1
最后修改下面的语句:
Private Sub Class_Initialize()
Set Sock = FrmMain.Winsock1
End Sub
打包吧。没问题了
我自己已经试过了。
王懿 2008-6-6 21:43
这里附上修改好的程序:
这里附上修改好的程序:
若需要打好的包(4M),你把电子邮件给我,我发给你。
Stone 2008-6-10 09:14
谢谢王懿
Coofish
现在又出现问题就是添加控件时候出现“在VB部件中添加控件时出现如下错误:名称与已存在的模块、工程或对象冲突 ”因为我的系统都已经接近尾声,不想再重建工程!!我贴出来的
Mail工程只是其中的一个模块~~原本写这个MAil功能的时候是没有使用MSwinsock控件的,只是在自定义类中引用了一下~~~
cwctt 2008-6-10 09:21
在VB部件中添加控件时出现如下错误:名称与已存在的模块、工程或对象冲突?
针对该问题解决方法如下:
用写字板格式打开SmtpSendMail.vbp
[color=blue]Type=Exe
Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\WINNT\system32\STDOLE2.TLB#OLE Automation
[color=red]Reference=*\G{248DD890-BB45-11CF-9ABC-0080C7E7B78D}#1.0#0#C:\WINNT\system32\MSWINSCK.OCX#Microsoft Winsock Control 6.0 (SP6)[/color]
Form=FrmMain.frm
Class=ClsMail; ClsMail.cls
Ic
Startup="FrmMain"
HelpFile=""
Title="SmtpSendMail"
ExeName32="SmtpSendMail.exe"
Command32=""
Name="SmtpSendMail"
HelpC
CompatibleMode="0"
MajorVer=1
MinorVer=0
RevisionVer=0
AutoIncrementVer=0
ServerSupportFiles=0[/color]
[color=#0000ff][/color]
[color=black]删除红色引用的这条就可以了~保存~正常打开[/color]
[color=#000000]然后你就可以根据楼上的方法来运行 [/color]
[color=black]当然 也可以引用类库 [/color]
[color=#000000][/color]
[[i] 本帖最后由 cwctt 于 2008-6-10 11:27 编辑 [/i]]
王懿 2008-6-10 11:23
你添加MSwinsock控件时出错吗?
我上网查说:(自己不确定)
可能是你的frx文件出错,有些控件你删除了,但frx中还有记录。
重新建窗体,拷贝控件及程序。
王懿 2008-6-10 11:47
这样试试:先去除部件"引用",然后再进行添加! 因为VB版本不一样时要重新引用。
Stone 2008-6-10 11:58
呵呵,謝謝樓上各位~~~,現在的缺憾就是.我不想用這個控件,想引用,但是本機是好用的,就是到別的機器,提示"执行阶段错误’429’ ActiveX元件无法产生物件"
王懿 2008-6-10 13:32
ActiveX 部件不能创建对象或返回对该对象的引用(错误 429)
创建对象要求该对象的类已在系统注册表中注册,而且任何相关的动态链接库 (DLL)必须能使用。此错误有以下的原因和解决方法:
(1)类没有注册。例如,系统注册表中没有类的说明,或虽有类说明,但找不到文件,或指定的文件类型错误。
如果可能的话,试着启动对象的应用程序。如果注册信息过期或错误,应用程序应该检查注册表并更正信息。如果启动应用程序没有解决问题,请重新执行应用程序的安装程序。
(2)对象需要的 DLL 不能使用,可能因为找不到,或是已损坏。
确保所有相关的 DLL 都可使用。例如,Data Access Object (DAO) 需要支持多平台的 DLL。如果这是造成错误的原因,则要为此对象重新执行安装程序。
(3)对象在机器上使用,但它是授权的 Automation 对象,而且在具体的例子授权中不能确认可用。
一些对象在部件找到授权键后,才能被具体的例子说明,并且在当前的机器上的实例说明中,确认对象已被注册。当通过正确安装的类型库或对象库对一个对象进行引用时,就能自动提供正确的键。
(4)如果 CreateObject 或 GetObject 的调用结果,是用例子说明,那么,对象必须找到键。在这种情况,它会搜寻系统注册表或查找它在安装时建立的指定文件,例如,扩展名为 .lic 的文件。如果此键找不到,则对象不能被说明。如果用户建立对象应用程序,删除必须文件,或改变系统注册表,则对象不能找到此键。如果此键找不到,对象也不能用例子说明。[color=red]实例说明可在[color=lime][u]开发系统[/u][/color]中工作,但不能在[u][color=lime]用户系统[/color][/u]中。[/color]它对用户重装登记的对象是必须的。
(5)使用 GetObject 函数获得用 Visual Basic 所创建类的引用。
GetObject 不能获得用 Visual Basic 所创建类的引用。
(6)对该对象的访问显式地被拒绝。
例如,试图访问当前正在使用的数据对象,且此对象已被锁定以防止死锁情形发生。如果是这样的情形,可以在其他时间去访问对象。
我认为你的错误在于(4)或(5)。
blastar 2008-6-11 12:50
是不是你打包的安装程序里面没有把winsock打进去?如果目标机器上面没有这个ActiveX或者没有注册。。就会创建(CreateObject)失败!
我的输入法不能分开词了。。。
仲华仁民工和郭万穗!大贾家友!请注2008年奥云辉!:001