Hallo allerseits,
seit Stunden suche ich den Fehler, warum in meinem Programm mit mehreren Forms das Drucken aus einer einzigen Form nicht funktioniert. Doch der Reihe nach. In allen Formen ist "PrintDialog1" und "PrintDocument1" vorhanden. Das Problem tritt auf, wenn als Drucker der ADOBE PDF-Drucker gewählt wurde.
Nur bei einer einzigen Form tritt der Fehler auf, obwohl die Testroutinen überall gleich sind. Das Programm wird mit der Fehlermeldung
"Es wurde versucht, im geschützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis darauf, dass anderer Speicher beschädigt ist." unterbrochen. Wie gesagt, aus einer anderen Form geht das pdf-Drucken einwandfrei. Der ADOBE ist also in Ordnung.
Hat jemand eine Ahnung????
Gruß und Danke
seit Stunden suche ich den Fehler, warum in meinem Programm mit mehreren Forms das Drucken aus einer einzigen Form nicht funktioniert. Doch der Reihe nach. In allen Formen ist "PrintDialog1" und "PrintDocument1" vorhanden. Das Problem tritt auf, wenn als Drucker der ADOBE PDF-Drucker gewählt wurde.
VB.NET-Quellcode
- Imports System.Drawing
- Imports System.Drawing.Printing
- Imports System.Windows.Forms
- Public Class Form1
- Private StandardFont As Font = New Font("Arial", 10)
- Private HeadlineFont As Font = New Font("Arial", 12, FontStyle.Bold + FontStyle.Italic + FontStyle.Underline, GraphicsUnit.Point)
- Private BoldFont As Font = New Font("Arial", 10, FontStyle.Bold)
- Private yPos As Single = 0
- Private LeftPos As Single = 25
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- If PrintDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
- Try
- Dim pd As New PrintDocument()
- AddHandler pd.PrintPage, AddressOf pd_PrintPage
- pd.PrinterSettings = PrintDialog1.PrinterSettings
- pd.DocumentName = "Aufstellung"
- pd.Print()
- Catch ex As Exception
- MessageBox.Show(ex.Message)
- End Try
- End If
- End Sub
- Private Sub pd_printpage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs)
- '// Testausdruck //
- e.Graphics.DrawString("Testdruck" & "; Druckdatum: " & Now.Date, HeadlineFont, Brushes.Black, LeftPos, yPos + 1)
- e.HasMorePages = False
- End Sub
- End Class
Nur bei einer einzigen Form tritt der Fehler auf, obwohl die Testroutinen überall gleich sind. Das Programm wird mit der Fehlermeldung
"Es wurde versucht, im geschützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis darauf, dass anderer Speicher beschädigt ist." unterbrochen. Wie gesagt, aus einer anderen Form geht das pdf-Drucken einwandfrei. Der ADOBE ist also in Ordnung.
Hat jemand eine Ahnung????
Gruß und Danke