【发布时间】:2014-10-24 19:41:31
【问题描述】:
Brother bpac SDK 让我度过了一段糟糕的时光。我有一个应用程序,我正在尝试从中打印标签。以前可以用,现在不知道哪里出了问题。
这是我得到的错误: 由于以下错误,检索具有 CLSID {B940C105-7F01-46FE-BF41-E040B9BDA83D} 的组件的 COM 类工厂失败:80040154 未注册类(HRESULT 异常:0x80040154 (REGDB_E_CLASSNOTREG))。
代码:
'Set up the path and template variables
Dim path As String = "LabelTemplates\SolutionIDtemplate.lbx"
'Create the bpac document
Dim doc As New bpac.Document
If doc.Open(path) <> False Then
doc.GetObject("objID").Text = id
doc.GetObject("objExpDate").Text = expDate
doc.GetObject("objName").Text = name
'Print the label
doc.StartPrint("", bpac.PrintOptionConstants.bpoDefault)
doc.PrintOut(copies, bpac.PrintOptionConstants.bpoDefault)
doc.EndPrint()
doc.Close()
Else
MessageBox.Show("Error: " + CStr(doc.ErrorCode))
End If
注意:该类在注册表中,我的项目设置为构建为 32 位应用程序。我看过的所有地方都说去项目>属性>构建选项卡>目标CPU = x86。我已经这样做了,但问题仍然存在。任何帮助都将不胜感激,因为我已经尝试了我能想到的一切。
提前致谢, 以利
【问题讨论】:
-
您是从不同的机器还是升级(比如 Windows7 升级)机器访问它?您可能需要添加注册的不同版本,或者有时需要通过 RegSvr32 从 Wow64 文件夹重新注册组件
-
您可能安装了 64 位 bpac 组件而不是 32 位组件?
-
我已经用 regsvr32 重新注册了 DLL,但这并没有帮助。我会检查驱动程序,并在周一工作时验证它是 32 位的,并会提供更新。任何其他建议表示赞赏。