我在兄弟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位应用程序。我看过的每个地方都说要去Project&gt;属性&gt;构建标签&gt;目标CPU = x86。我这样做了,但问题仍然存在。任何帮助都会非常感激,因为我已经尝试了所有我能想到的东西。
提前致谢, 利
答案 0 :(得分:3)
为了将来参考,请不要忘记为用户提供b-pac客户端设置(可在“\ Brother bPAC3 SDK \ Redist \”文件夹中找到)。它必须安装在客户端计算机上才能使用dll。或者会抛出此错误。
答案 1 :(得分:1)
当我开始使用.net 4时,我在为工作编写的应用程序上收到了同样的错误。这看起来像是在SDK中提供的示例代码。当我改变它以不检查开放路径时,我能够让它工作。
此外,请确保使用Bpac打印机安装了最新的驱动程序。这是我改变的代码。
Dim path As String = My.Application.Info.DirectoryPath
Dim doc As New bpac.Document
doc = CreateObject("bpac.Document")
doc.SetPrinter(doc.GetPrinterName().ToString, True)
doc.Open(path + "/TesterLabel.lbx")
doc.GetObject("objTicket").Text = lstTickets.Items.Item(0).ToString
doc.GetObject("objTest").Text = issue
doc.GetObject("objClaim").Text = strIssue
doc.DoPrint(PrintOptionConstants.bpoDefault, "")
doc.EndPrint()
doc.Close()
答案 2 :(得分:0)
所以我重新安装了SDK,这似乎有效。感谢您的建议。
答案 3 :(得分:0)
我的解决方案是在Windows中安装打印机。
答案 4 :(得分:0)
对我来说,诀窍是安装正确版本的SDK SDK Version之后我安装了客户端驱动程序并且工作正常
答案 5 :(得分:0)
对我来说,它是将目标框架设置为.Net 4.0。我使用的是Brothers SDK:2020年7月7日发布的3.3.001(64位版本)
答案 6 :(得分:0)
我已经使用“项目”>“属性”>“构建”选项卡>“目标CPU anycpu”解决了-目标目标cpu any cpu。 记得看属性设置项目。