IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

TWebBrowser problème d'impression avec IE8


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Mars 2011
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 1
    Par défaut TWebBrowser problème d'impression avec IE8
    Bonjour à tous,

    J'ai développé il y a de cela quelques années une application interne de saisie qui utilise XML et XSLT pour générer des fiches html. Cette application permet de faire du reporting en masse et de générer plusieurs centaines de fiches html d'un coup.

    Une fiche est un simple document html d'une page mise en forme pour une impression A4.

    Elle offre aussi la possibilité, si l'utilisateur le désire d'imprimer directement les fiches lors de la génération. Pour cela, j'utilise TWebBrowser pour l 'impression. Le problème est assez récent puisqu'il date du passage IE6 à IE8. Avec IE6, pas de problème, tout se déroulait bien. Depuis le passage à IE8 dès que je veux imprimer plus de 1 fiche j'ai le message d'erreur suivant :



    Peu importe que je clique sur oui ou non, j'ai l'erreur à chaque génération de fiche.
    Apparemment, IE8 est connu pour ce genre de problème, mais aucune des solutions proposées sur divers forums n'a marché.

    C'est donc très pénible pour les utilisateurs.
    Si quelqu'un à une solution, un grand merci d'avance.
    Images attachées Images attachées  

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 096
    Par défaut
    Tu devrais te passer totalement de IE et utiliser des composants HTML de la Jedi (Gratuit) ou THTMLCredit de TMS (Payant)
    L'aspect sera forcément différent (comme entre IE, FF ou Chrome) mais cela évite ce type de problème !

    Sinon bien moche, FindWindow de la classe #32770 genre ceci que j'ai utilisé pour un bot pour jouer à ma place sur un jeu web ben oui, aucun intéret le jeu, le bot nettement plus, à l'époque j'ai utilisé un TWebBrowser, car sans lui, les pages n'étaient pas complète (AJAX) et donc il manquait ce qui je voulais parser !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    // -----------------------------------------------------------------------------
    procedure TFrmShowURL.SilentMsgBox();
    var
       lpClassName: PChar; // pointer to class name
       lpWindowName: PChar; // pointer to window name
       HwndParent: HWND;
    const
       MsI = 'Microsoft Internet Explorer';
       ErreurScript = 'Erreur de script de Internet Explorer';
    begin
       try
          lpClassName := nil; //'#32770';, // pointer to class name
          lpWindowName := MsI; // pointer to window name
          {Récupère le handle de la boite de dialogue}
          HwndParent := FindWindow(lpClassName, lpWindowName);
          if HwndParent <> 0 then begin
             SendMessage(HwndParent, WM_CLOSE, 0, 0);
             FichierLog('System', 'MessageBox', MsI);
          end;
     
          lpClassName := nil; //'#32770'; // pointer to class name
          lpWindowName := ErreurScript; // pointer to window name
          {Récupère le handle de la boite de dialogue}
          HwndParent := FindWindow(lpClassName, lpWindowName);
          if HwndParent <> 0 then begin
             SendMessage(HwndParent, WM_CLOSE, 0, 0);
             FichierLog('System', 'MessageBox', ErreurScript);
          end;
       except
          FichierLog('System', 'Except', Exception(ExceptObject()).Message);
       end;
    end;
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. Problème d'impression avec les cases à cocher
    Par madseb dans le forum Access
    Réponses: 7
    Dernier message: 17/09/2022, 18h20
  2. Problème d'impression avec PrinterJob
    Par metaska dans le forum Agents de placement/Fenêtres
    Réponses: 0
    Dernier message: 03/11/2008, 13h44
  3. Problème d'impression avec SQL
    Par DurDur dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 20/12/2007, 17h22
  4. problèmes d'impression avec WORD
    Par MY356 dans le forum Word
    Réponses: 1
    Dernier message: 13/12/2007, 20h54
  5. Problème d'impression avec delphi
    Par Bourak dans le forum Langage
    Réponses: 1
    Dernier message: 12/11/2005, 17h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo