External component has thrown an exception
-
ihave problem when print datagridview this coding me public partial class Form1 : Form { PrintDocument dokprint = new PrintDocument(); String koneksidatabase = " Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\DatabaseMDB\\DBSALES.mdb"; public Form1() { InitializeComponent(); printDocument1.PrintPage += printDocument1_PrintPage; ---------------------------------------------------------------------------------- private void button2_Click(object sender, EventArgs e) { if (TXTBAYAR.Text == "") { MessageBox.Show("Please insert Buy"); return; } for (int i = 0; i < dataGridView2.Rows.Count; i++) { OleDbConnection con = new OleDbConnection(koneksidatabase); OleDbCommand cmd = new OleDbCommand("insert into Sales ([Kode],[Nama Barang],[Harga],[Quantity],[Satuan],[Subtotal]) values (@Column1,@Column2,@Column3,@Column4,@Column5,@Column6)", con); cmd.Parameters.AddWithValue("@Kode", dataGridView2.Rows[i].Cells[0].Value); cmd.Parameters.AddWithValue("@Column2", dataGridView2.Rows[i].Cells[1].Value); cmd.Parameters.AddWithValue("@Column3", dataGridView2.Rows[i].Cells[2].Value); cmd.Parameters.AddWithValue("@Column4", dataGridView2.Rows[i].Cells[3].Value); cmd.Parameters.AddWithValue("@Column5", dataGridView2.Rows[i].Cells[4].Value); cmd.Parameters.AddWithValue("@Column6", dataGridView2.Rows[i].Cells[5].Value); OleDbConnection con1 = new OleDbConnection(koneksidatabase); OleDbCommand cmd1 = new OleDbCommand("insert into DetailSales ([Kode],[Nama Barang],[Harga],[Quantity],[Satuan],[Subtotal],[Total],[Bayar],[Kembalian],[DateTime]) values (@Column1,@Column2,@Column3,@Column4,@Column5,@Column6,@Total,@Bayar,@Kembalian,@DateTime)", con); cmd1.Parameters.AddWithValue("@Kode", dataGridView2.Rows[i].Cells[0].Value); cmd1.Parameters.AddWithValue("@Column2", dataGridView2.Rows[i].Cells[1].Value); cmd1.Parameters.AddWithValue("@Column3", dataGridView2.Rows[i].Cells[2].Value); cmd1.Parameters.AddWithValue("@Column4", dataGridView2.Rows[i].Cells[3].Value); cmd1.Parameters.AddWithValue("@Column5", dataGridView2.Rows[i].Cells[4].Value); cmd1.Parameters.AddWi
-
ihave problem when print datagridview this coding me public partial class Form1 : Form { PrintDocument dokprint = new PrintDocument(); String koneksidatabase = " Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\DatabaseMDB\\DBSALES.mdb"; public Form1() { InitializeComponent(); printDocument1.PrintPage += printDocument1_PrintPage; ---------------------------------------------------------------------------------- private void button2_Click(object sender, EventArgs e) { if (TXTBAYAR.Text == "") { MessageBox.Show("Please insert Buy"); return; } for (int i = 0; i < dataGridView2.Rows.Count; i++) { OleDbConnection con = new OleDbConnection(koneksidatabase); OleDbCommand cmd = new OleDbCommand("insert into Sales ([Kode],[Nama Barang],[Harga],[Quantity],[Satuan],[Subtotal]) values (@Column1,@Column2,@Column3,@Column4,@Column5,@Column6)", con); cmd.Parameters.AddWithValue("@Kode", dataGridView2.Rows[i].Cells[0].Value); cmd.Parameters.AddWithValue("@Column2", dataGridView2.Rows[i].Cells[1].Value); cmd.Parameters.AddWithValue("@Column3", dataGridView2.Rows[i].Cells[2].Value); cmd.Parameters.AddWithValue("@Column4", dataGridView2.Rows[i].Cells[3].Value); cmd.Parameters.AddWithValue("@Column5", dataGridView2.Rows[i].Cells[4].Value); cmd.Parameters.AddWithValue("@Column6", dataGridView2.Rows[i].Cells[5].Value); OleDbConnection con1 = new OleDbConnection(koneksidatabase); OleDbCommand cmd1 = new OleDbCommand("insert into DetailSales ([Kode],[Nama Barang],[Harga],[Quantity],[Satuan],[Subtotal],[Total],[Bayar],[Kembalian],[DateTime]) values (@Column1,@Column2,@Column3,@Column4,@Column5,@Column6,@Total,@Bayar,@Kembalian,@DateTime)", con); cmd1.Parameters.AddWithValue("@Kode", dataGridView2.Rows[i].Cells[0].Value); cmd1.Parameters.AddWithValue("@Column2", dataGridView2.Rows[i].Cells[1].Value); cmd1.Parameters.AddWithValue("@Column3", dataGridView2.Rows[i].Cells[2].Value); cmd1.Parameters.AddWithValue("@Column4", dataGridView2.Rows[i].Cells[3].Value); cmd1.Parameters.AddWithValue("@Column5", dataGridView2.Rows[i].Cells[4].Value); cmd1.Parameters.AddWi
Looks like you have an issue connecting to the printer. Look at the error and try to figure out the problem. Post the error here. As a side note, add a
try catch
block to your code to handle the error.Apps - Color Analyzer | Arctic | XKCD | Sound Meter | Speed Dial
-
Looks like you have an issue connecting to the printer. Look at the error and try to figure out the problem. Post the error here. As a side note, add a
try catch
block to your code to handle the error.Apps - Color Analyzer | Arctic | XKCD | Sound Meter | Speed Dial
PrintDocument printdocument1 = new PrintDocument(); String koneksidatabase = " Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\DatabaseMDB\\DBSALES.mdb"; public Form1() { InitializeComponent(); printDocument1.PrintPage += printDocument1_PrintPage; private void button2_Click(object sender, EventArgs e) { if (TXTBAYAR.Text == "") { MessageBox.Show("Please insert Buy"); return; } for (int i = 0; i < dataGridView2.Rows.Count; i++) { OleDbConnection con = new OleDbConnection(koneksidatabase); OleDbCommand cmd = new OleDbCommand("insert into Sales ([Kode],[Nama Barang],[Harga],[Quantity],[Satuan],[Subtotal]) values (@Column1,@Column2,@Column3,@Column4,@Column5,@Column6)", con); cmd.Parameters.AddWithValue("@Kode", dataGridView2.Rows[i].Cells[0].Value); cmd.Parameters.AddWithValue("@Column2", dataGridView2.Rows[i].Cells[1].Value); cmd.Parameters.AddWithValue("@Column3", dataGridView2.Rows[i].Cells[2].Value); cmd.Parameters.AddWithValue("@Column4", dataGridView2.Rows[i].Cells[3].Value); cmd.Parameters.AddWithValue("@Column5", dataGridView2.Rows[i].Cells[4].Value); cmd.Parameters.AddWithValue("@Column6", dataGridView2.Rows[i].Cells[5].Value); OleDbConnection con1 = new OleDbConnection(koneksidatabase); OleDbCommand cmd1 = new OleDbCommand("insert into DetailSales ([Kode],[Nama Barang],[Harga],[Quantity],[Satuan],[Subtotal],[Total],[Bayar],[Kembalian],[DateTime]) values (@Column1,@Column2,@Column3,@Column4,@Column5,@Column6,@Total,@Bayar,@Kembalian,@DateTime)", con); cmd1.Parameters.AddWithValue("@Kode", dataGridView2.Rows[i].Cells[0].Value); cmd1.Parameters.AddWithValue("@Column2", dataGridView2.Rows[i].Cells[1].Value); cmd1.Parameters.AddWithValue("@Column3", dataGridView2.Rows[i].Cells[2].Value); cmd1.Parameters.AddWithValue("@Column4", dataGridView2.Rows[i].Cells[3].Value); cmd1.Parameters.AddWithValue("@Column5", dataGridView2.Rows[i].Cells[4].Value); cmd1.Parameters.AddWithValue("@Column6", dataGridView2.Rows[i].Cells[5].Value); cmd1.Parameters.AddWithValue("@Total", txttotal1.Text); cmd1.Par
-
PrintDocument printdocument1 = new PrintDocument(); String koneksidatabase = " Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\DatabaseMDB\\DBSALES.mdb"; public Form1() { InitializeComponent(); printDocument1.PrintPage += printDocument1_PrintPage; private void button2_Click(object sender, EventArgs e) { if (TXTBAYAR.Text == "") { MessageBox.Show("Please insert Buy"); return; } for (int i = 0; i < dataGridView2.Rows.Count; i++) { OleDbConnection con = new OleDbConnection(koneksidatabase); OleDbCommand cmd = new OleDbCommand("insert into Sales ([Kode],[Nama Barang],[Harga],[Quantity],[Satuan],[Subtotal]) values (@Column1,@Column2,@Column3,@Column4,@Column5,@Column6)", con); cmd.Parameters.AddWithValue("@Kode", dataGridView2.Rows[i].Cells[0].Value); cmd.Parameters.AddWithValue("@Column2", dataGridView2.Rows[i].Cells[1].Value); cmd.Parameters.AddWithValue("@Column3", dataGridView2.Rows[i].Cells[2].Value); cmd.Parameters.AddWithValue("@Column4", dataGridView2.Rows[i].Cells[3].Value); cmd.Parameters.AddWithValue("@Column5", dataGridView2.Rows[i].Cells[4].Value); cmd.Parameters.AddWithValue("@Column6", dataGridView2.Rows[i].Cells[5].Value); OleDbConnection con1 = new OleDbConnection(koneksidatabase); OleDbCommand cmd1 = new OleDbCommand("insert into DetailSales ([Kode],[Nama Barang],[Harga],[Quantity],[Satuan],[Subtotal],[Total],[Bayar],[Kembalian],[DateTime]) values (@Column1,@Column2,@Column3,@Column4,@Column5,@Column6,@Total,@Bayar,@Kembalian,@DateTime)", con); cmd1.Parameters.AddWithValue("@Kode", dataGridView2.Rows[i].Cells[0].Value); cmd1.Parameters.AddWithValue("@Column2", dataGridView2.Rows[i].Cells[1].Value); cmd1.Parameters.AddWithValue("@Column3", dataGridView2.Rows[i].Cells[2].Value); cmd1.Parameters.AddWithValue("@Column4", dataGridView2.Rows[i].Cells[3].Value); cmd1.Parameters.AddWithValue("@Column5", dataGridView2.Rows[i].Cells[4].Value); cmd1.Parameters.AddWithValue("@Column6", dataGridView2.Rows[i].Cells[5].Value); cmd1.Parameters.AddWithValue("@Total", txttotal1.Text); cmd1.Par
It may be just me, but that doesn't look like an error message.
A guide to posting questions on CodeProject[^]
Dave Kreskowiak -
It may be just me, but that doesn't look like an error message.
A guide to posting questions on CodeProject[^]
Dave KreskowiakI have the same problem. I describe the issue: The process that not work sometimes is a MTA Process it have that code:
Protected Friend Function PrintCustomDriver(printerSetting As PrinterSettingsAvanzada) As Boolean
Dim sucess As Boolean = True
Dim impresoradefecto As String = HumanoSoftware.Helpers.WindowUtil.GetDefaultPrinter
Try
Using document = PdfiumViewer.PdfDocument.Load(path)Using printDocument = document.CreatePrintDocument() Dim printerDuplicado As PrinterSettingsAvanzada = printerSetting.Clone printerDuplicado.Copies = 1 printDocument.PrinterSettings = printerDuplicado printDocument.PrintController = New System.Drawing.Printing.StandardPrintController() For indice As Integer = 0 To printerSetting.Copies - 1 printDocument.Print() Next End Using End Using
Catch ex As Exception
Logger.EscribirException(ex)
sucess = False
Finally
HumanoSoftware.Helpers.WindowUtil.SetDefaultPrinter(impresoradefecto)
End TryReturn sucess
End FunctionNormally it works fine, However, sometimes throw that exception:
Quote:
[33][10/03/2022][10:23:23:170][ERROR][. Un componente externo produjo una excepción.. en PdfiumViewer.NativeMethods.Imports.FPDF_RenderPage(IntPtr dc, IntPtr page, Int32 start_x, Int32 start_y, Int32 size_x, Int32 size_y, Int32 rotate, FPDF flags) en PdfiumViewer.NativeMethods.FPDF_RenderPage(IntPtr dc, IntPtr page, Int32 start_x, Int32 start_y, Int32 size_x, Int32 size_y, Int32 rotate, FPDF flags) en PdfiumViewer.PdfFile.RenderPDFPageToDC(Int32 pageNumber, IntPtr dc, Int32 dpiX, Int32 dpiY, Int32 boundsOriginX, Int32 boundsOriginY, Int32 boundsWidth, Int32 boundsHeight, FPDF flags) en PdfiumViewer.PdfDocument.Render(Int32 page, Graphics graphics, Single dpiX, Single dpiY, Rectangle bounds, PdfRenderFlags flags) en PdfiumViewer.PdfPrintDocument.RenderPage(PrintPageEventArgs e, Int32 page, Double left, Double top, Double width, Double height) en PdfiumViewer.PdfPrintDocument.PrintSinglePage(PrintPageEventArgs e) en PdfiumViewer.PdfPrintDocument.OnPrintPage(PrintPageEventArgs e) en System.Drawing.Printing.PrintDocument._OnPrintPage(PrintPageEventArgs e) en System.Drawing.Printing.PrintController.PrintLoop(PrintDocument document) en System.Drawing.Printing.PrintController.Print(PrintDocument document) en System.Drawing.P
-
I have the same problem. I describe the issue: The process that not work sometimes is a MTA Process it have that code:
Protected Friend Function PrintCustomDriver(printerSetting As PrinterSettingsAvanzada) As Boolean
Dim sucess As Boolean = True
Dim impresoradefecto As String = HumanoSoftware.Helpers.WindowUtil.GetDefaultPrinter
Try
Using document = PdfiumViewer.PdfDocument.Load(path)Using printDocument = document.CreatePrintDocument() Dim printerDuplicado As PrinterSettingsAvanzada = printerSetting.Clone printerDuplicado.Copies = 1 printDocument.PrinterSettings = printerDuplicado printDocument.PrintController = New System.Drawing.Printing.StandardPrintController() For indice As Integer = 0 To printerSetting.Copies - 1 printDocument.Print() Next End Using End Using
Catch ex As Exception
Logger.EscribirException(ex)
sucess = False
Finally
HumanoSoftware.Helpers.WindowUtil.SetDefaultPrinter(impresoradefecto)
End TryReturn sucess
End FunctionNormally it works fine, However, sometimes throw that exception:
Quote:
[33][10/03/2022][10:23:23:170][ERROR][. Un componente externo produjo una excepción.. en PdfiumViewer.NativeMethods.Imports.FPDF_RenderPage(IntPtr dc, IntPtr page, Int32 start_x, Int32 start_y, Int32 size_x, Int32 size_y, Int32 rotate, FPDF flags) en PdfiumViewer.NativeMethods.FPDF_RenderPage(IntPtr dc, IntPtr page, Int32 start_x, Int32 start_y, Int32 size_x, Int32 size_y, Int32 rotate, FPDF flags) en PdfiumViewer.PdfFile.RenderPDFPageToDC(Int32 pageNumber, IntPtr dc, Int32 dpiX, Int32 dpiY, Int32 boundsOriginX, Int32 boundsOriginY, Int32 boundsWidth, Int32 boundsHeight, FPDF flags) en PdfiumViewer.PdfDocument.Render(Int32 page, Graphics graphics, Single dpiX, Single dpiY, Rectangle bounds, PdfRenderFlags flags) en PdfiumViewer.PdfPrintDocument.RenderPage(PrintPageEventArgs e, Int32 page, Double left, Double top, Double width, Double height) en PdfiumViewer.PdfPrintDocument.PrintSinglePage(PrintPageEventArgs e) en PdfiumViewer.PdfPrintDocument.OnPrintPage(PrintPageEventArgs e) en System.Drawing.Printing.PrintDocument._OnPrintPage(PrintPageEventArgs e) en System.Drawing.Printing.PrintController.PrintLoop(PrintDocument document) en System.Drawing.Printing.PrintController.Print(PrintDocument document) en System.Drawing.P
I couldn't tell you. The first thing I would look for is an InnerException in the exception that you get.
Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles.
Dave Kreskowiak