2014-10-24 3 views
0

У меня ужасное время с братом bpac SDK. У меня есть приложение, и я пытаюсь напечатать ярлык из него. Он работал раньше, но я не знаю, что сейчас не так.Печать наклейки с логотипом COM

Здесь ошибка я получаю: Получение COM фабрики классов для компонента с CLSID {B940C105-7F01-46FE-BF41-E040B9BDA83D} не удалось из-за следующей ошибки: 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> Properties> Build Tab> Target CPU = x86. Я сделал это, но проблема все еще сохраняется. Любая помощь была бы очень признательна, потому что я пробовал все, что мог придумать.

Спасибо заранее, Эли

+0

Доступ к нему осуществляется с другой машины или обновленной (скажем, Windows7 upgrade) машины? Возможно, существует другая версия, которую вам нужно добавить, или иногда это вопрос перерегистрации компонента через RegSvr32 из папки Wow64. –

+0

Возможно, вы установили 64-битные компоненты bpac, а не 32-битные? –

+0

Я уже перерегистрировал DLL с regsvr32, и это не помогло. Я проверю, если на драйверах и убедитесь, что это 32 бит в понедельник на работе и даст обновление. Любые другие предложения приветствуются. – user3711685

ответ

0

Поэтому я переустановил SDK, и это, казалось, сработало. Спасибо за предложения.

0

Я получил ту же ошибку в приложении я написал для работы, когда я начал использовать .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() 
+0

Я получаю ошибку при создании объекта bpac.document. Он даже не выходит на открытую линию. – user3711685

2

Для справок в будущем, не забудьте указать пользователям настройки клиента b-pac (их можно найти в папке \ Brother bPAC3 SDK \ Redist \). Он должен быть установлен на клиентской машине для использования dll. Или эта ошибка будет выброшена.

0

Решение для меня заключалось в установке принтера в Windows.

Смежные вопросы