2013-02-12 3 views
2

Я хочу использовать отчет Crystal в VB.net, чтобы показать изображение, содержащее штрих-код. Но когда я запускаю приложение, я получаю следующее исключение перед загрузкой отчета, хотя я добавил ссылку crdb_adoplus.dll к моему проекту.Отображение изображения в отчете о кристалле

исключение: не удалось загрузить файл или сборку 'crdb_adoplus, Version = 9.1.3300.0, Culture = neutral, PublicKeyToken = 692fbea5521e1304' или одну из его зависимостей. Не удалось выполнить сильную проверку имени. (Исключение из HRESULT: 0x8013141A)

И вот мой код:

Private Sub Frm_Reporting_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
     CrystalReportViewer1.ReportSource = Nothing 
     Dim rptbarcode As RptPacking 
     rptbarcode = New RptPacking 
     Dim xrep As DataSet1 
     xrep = New DataSet1 
     Dim row As DataRow 
     Dim MyImg As Image = Nothing 
     Try 
      btnEncode(MyImg, BarcodeText) 
      row = xrep.Tables("DataTable1").NewRow 
      Dim ms As New MemoryStream() 

      MyImg.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg) 

      Dim ii As Byte() 

      ii = ms.ToArray() 

      xrep.Tables("DataTable1").Rows.Add(ii) 

      rptbarcode.Load("GSMProduction.RptPacking.rpt") 
      rptbarcode.SetDataSource(xrep.Tables("DataTable1")) 
      CrystalReportViewer1.ReportSource = rptbarcode 

     Catch ex As Exception 
      MessageBox.Show(ex.Message) 
     End Try 
    End Sub 


    Private Sub btnEncode(ByRef pic As Image, ByVal txtData As String) 
     Dim W As Integer = 160 
     Dim H As Integer = 110 
     Dim b As BarcodeLib.Barcode 
     Dim type As BarcodeLib.TYPE = BarcodeLib.TYPE.UNSPECIFIED 
     type = BarcodeLib.TYPE.CODE128 
     b = New BarcodeLib.Barcode() 
     Try 
      If type <> BarcodeLib.TYPE.UNSPECIFIED Then 
       b.IncludeLabel = True 

       '===== Encoding performed here ===== 
       pic = b.Encode(type, txtData, W, H) 
       'CType(Frm, frm_submitentery).pic_img.Image = pic.Image 
       '=================================== 


      End If 

     Catch ex As Exception 
      'try 
      MessageBox.Show(ex.Message) 
      'catch 
     End Try 

    End Sub 

Я очень ценю ваши предложения заранее.

+0

что возвращаемый тип b.Encode? – AbZy

+0

Это изображение, вы можете найти его в сигнатуре метода 'Private Sub btnEncode (ByRef pic As Image, ByVal txtData As String)' – 2013-02-13 04:52:27

ответ

0

Если вы работаете в .NET 4 в VS2010, то вам, возможно, потребуется добавить следующую строку в ваш файл .config (раздел конфигурации):

<startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
</startup> 
Смежные вопросы