Aujourd'hui, j'ai eu un problème lors de l'impression d'un rapport avec le composant Crystal Reports.
Lors de l'appel de la méthode "ReportDocument.PrintToPrinter" une étrange erreur
"Win32Exception : The operation completed successfully" est apparue. Après une longue recherche,
je me suis aperçu, que le problème était en réalité lié au pilote (Driver) de mon imprimante sous
Windows 7 64 bits. En effet, le programme fonctionne très bien sous Windows Vista 64 bits
avec la même imprimante. De plus, un de mes collègue à strictement le même problème
avec la même configuration. Cependant, le problème est particulièrement vicieux, car j'arrive à imprimer
certains documents à partir de mon poste, avec le Bloc Note de Windows par exemple.
Quelle péripétie!
Publié par
Johannes
lundi 29 mars 2010
commentaires (0)
Libellés :
C#,
Crystal Reports
Publié par
Johannes
lundi 22 mars 2010
Je viens de trouver dans mon code pourquoi ma fenêtre de pré-visualisation Crystal Report
était très lente. J'ai supprimé la ligne ci-dessous dans la méthode "InitializeComponent" de
mon formulaire (.Designer.cs) :
this.crystalReportViewer1.SelectionFormula = "";Cela m'a permis de gagner neuf secondes à l'affichage.
Libellés :
C#,
Crystal Reports
Publié par
Johannes
lundi 15 mars 2010
using System.Reflection; public sealed class AssemblyInfo { #region Ctors static AssemblyInfo() { } private AssemblyInfo() { PortableExecutableKinds peKind; ImageFileMachine machine; Assembly.GetCallingAssembly().ManifestModule.GetPEKind(out peKind, out machine); this.Kind = peKind; this.Machine = machine; } #endregion #region Public Methods public bool Is(PortableExecutableKinds kind) { return ((this.Kind & kind) != 0); } public bool Is(ImageFileMachine machine) { return ((this.Machine & machine) != 0); } #endregion #region Properties public static AssemblyInfo Instance { get { return (AssemblyInfo._instance); } } public PortableExecutableKinds Kind { get; private set; } public ImageFileMachine Machine { get; private set; } #endregion #region Fields private static readonly AssemblyInfo _instance = new AssemblyInfo(); #endregion }Exemple d'utilisation:
if (AssemblyInfo.Instance.Is(PortableExecutableKinds.Required32Bit)) { }
Libellés :
C#,
Reflection
Publié par
Johannes
mercredi 10 mars 2010
/// <summary>
/// Différence entre deux dates en minute.
/// </summary>
/// <param name="start">Date de début</param>
/// <param name="end">Date de fin</param>
/// <returns>La différence en minute</returns>
public static int GetMinuteDiff(DateTime start, DateTime end)
{
if (start > end)
return (-((int)start.Subtract(end).TotalMinutes));
return ((int)end.Subtract(start).TotalMinutes);
}
Libellés :
C#
Inscription à :
Articles (Atom)