Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VB.NET - Erreur lors d'impression sous 98 : Dépassement de capac it

1 réponse
Avatar
Benson Lapides
J'ai un problème bloquant concernant une application écrite en VB.NET
(Version 2003).
L'application fonctionne parfaitement sous Windows NT 4, 2000 et XP. Sous
Windows 98 2e édition (selon l'imprimante utilisée) l'application se bloque
(et l'ordinateur aussi) lors d'une impression. Sur certains ordinateurs nous
avons l'erreur suivante :

System.ArithmeticException: Il y a eu un dépassement de capacité positif ou
négatif dans l'opération arithmétique.
at System.Drawing.Font.Initialize(FontFamily family, Single emSize,
FontStyle style, GraphicsUnit unit, Byte gdiCharSet, Boolean gdiVerticalFont)
at System.Drawing.Font.Initialize(String familyName, Single emSize,
FontStyle style, GraphicsUnit unit)

Ci-dessous les sources d'une petite application qui présente exactement le
même comportement. J'ai utilisé Acrobat Distiller comme imprimante par défaut.

D'autre information importante, si un aperçu est fait à partir de MS
Internet Explorer ou MS Word l'application fournie ci-dessous fonctionne
parfaitement, jusqu'au prochain reboot.

Merci pour des idées (ou des solutions).



‘--------------------------------------------------------------------------------------------------------

Public Class Form1

Inherits System.Windows.Forms.Form



#Region " Code généré par le Concepteur Windows Form "



Public Sub New()

MyBase.New()



'Cet appel est requis par le Concepteur Windows Form.

InitializeComponent()



'Ajoutez une initialisation quelconque après l'appel
InitializeComponent()



End Sub



'La méthode substituée Dispose du formulaire pour nettoyer la liste des
composants.

Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)

If disposing Then

If Not (components Is Nothing) Then

components.Dispose()

End If

End If

MyBase.Dispose(disposing)

End Sub



'Requis par le Concepteur Windows Form

Private components As System.ComponentModel.IContainer



'REMARQUE : la procédure suivante est requise par le Concepteur Windows
Form

'Elle peut être modifiée en utilisant le Concepteur Windows Form.

'Ne la modifiez pas en utilisant l'éditeur de code.

Friend WithEvents PrintDocument1 As System.Drawing.Printing.PrintDocument

Friend WithEvents Button1 As System.Windows.Forms.Button

<System.Diagnostics.DebuggerStepThrough()> Private Sub
InitializeComponent()

Me.PrintDocument1 = New System.Drawing.Printing.PrintDocument

Me.Button1 = New System.Windows.Forms.Button

Me.SuspendLayout()

'

'Button1

'

Me.Button1.Location = New System.Drawing.Point(176, 48)

Me.Button1.Name = "Button1"

Me.Button1.Size = New System.Drawing.Size(72, 32)

Me.Button1.TabIndex = 0

Me.Button1.Text = "Button1"

'

'Form1

'

Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)

Me.ClientSize = New System.Drawing.Size(292, 266)

Me.Controls.Add(Me.Button1)

Me.Name = "Form1"

Me.Text = "Form1"

Me.ResumeLayout(False)



End Sub



#End Region





Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click

PrintDocument1.Print()



End Sub



Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As
System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage

e.Graphics.DrawString("Arial", New Font("Arial", 80,
FontStyle.Bold), Brushes.Black, 150, 125)

End Sub

End Class

‘--------------------------------------------------------------------------------------------------------

-
Benson

1 réponse

Avatar
TroXsA
En changeant la police en avec true type ? sa fonctionne ou pas ?

--
Mail : http://cerbermail.com/?rIXgaw9Xsl
Site : http://planetenova.free.fr/
"Benson Lapides" a écrit dans le
message de news:
J'ai un problème bloquant concernant une application écrite en VB.NET
(Version 2003).
L'application fonctionne parfaitement sous Windows NT 4, 2000 et XP. Sous
Windows 98 2e édition (selon l'imprimante utilisée) l'application se
bloque
(et l'ordinateur aussi) lors d'une impression. Sur certains ordinateurs
nous
avons l'erreur suivante :

System.ArithmeticException: Il y a eu un dépassement de capacité positif
ou
négatif dans l'opération arithmétique.
at System.Drawing.Font.Initialize(FontFamily family, Single emSize,
FontStyle style, GraphicsUnit unit, Byte gdiCharSet, Boolean
gdiVerticalFont)
at System.Drawing.Font.Initialize(String familyName, Single emSize,
FontStyle style, GraphicsUnit unit)

Ci-dessous les sources d'une petite application qui présente exactement le
même comportement. J'ai utilisé Acrobat Distiller comme imprimante par
défaut.

D'autre information importante, si un aperçu est fait à partir de MS
Internet Explorer ou MS Word l'application fournie ci-dessous fonctionne
parfaitement, jusqu'au prochain reboot.

Merci pour des idées (ou des solutions).



'--------------------------------------------------------------------------------------------------------

Public Class Form1

Inherits System.Windows.Forms.Form



#Region " Code généré par le Concepteur Windows Form "



Public Sub New()

MyBase.New()



'Cet appel est requis par le Concepteur Windows Form.

InitializeComponent()



'Ajoutez une initialisation quelconque après l'appel
InitializeComponent()



End Sub



'La méthode substituée Dispose du formulaire pour nettoyer la liste des
composants.

Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)

If disposing Then

If Not (components Is Nothing) Then

components.Dispose()

End If

End If

MyBase.Dispose(disposing)

End Sub



'Requis par le Concepteur Windows Form

Private components As System.ComponentModel.IContainer



'REMARQUE : la procédure suivante est requise par le Concepteur Windows
Form

'Elle peut être modifiée en utilisant le Concepteur Windows Form.

'Ne la modifiez pas en utilisant l'éditeur de code.

Friend WithEvents PrintDocument1 As
System.Drawing.Printing.PrintDocument

Friend WithEvents Button1 As System.Windows.Forms.Button

<System.Diagnostics.DebuggerStepThrough()> Private Sub
InitializeComponent()

Me.PrintDocument1 = New System.Drawing.Printing.PrintDocument

Me.Button1 = New System.Windows.Forms.Button

Me.SuspendLayout()

'

'Button1

'

Me.Button1.Location = New System.Drawing.Point(176, 48)

Me.Button1.Name = "Button1"

Me.Button1.Size = New System.Drawing.Size(72, 32)

Me.Button1.TabIndex = 0

Me.Button1.Text = "Button1"

'

'Form1

'

Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)

Me.ClientSize = New System.Drawing.Size(292, 266)

Me.Controls.Add(Me.Button1)

Me.Name = "Form1"

Me.Text = "Form1"

Me.ResumeLayout(False)



End Sub



#End Region





Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click

PrintDocument1.Print()



End Sub



Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As
System.Drawing.Printing.PrintPageEventArgs) Handles
PrintDocument1.PrintPage

e.Graphics.DrawString("Arial", New Font("Arial", 80,
FontStyle.Bold), Brushes.Black, 150, 125)

End Sub

End Class

'--------------------------------------------------------------------------------------------------------

-
Benson