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

QuickReport Discussion :

Impression réseau sous Citrix : "Divsion par zéro"


Sujet :

QuickReport

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 22
    Points : 32
    Points
    32
    Par défaut Impression réseau sous Citrix : "Divsion par zéro"
    Bonjour,
    Notre appli est sous Delphi 2009, avec QuickReport 5.05.2

    Un client l'exploite sous citrix tant avec des terminaux légers Wyse et que des PC Win XP.
    Les imprimantes connues par l'application dans ce contexte sont : celles déclarées sur le serveur Windows + celles des postes clients remontées dans la session (locales ou réseau).
    Quand l'imprimante choisie est une imprimante réseau (pointée sur un serveur d'impression par le PC client), nous la voyons bien dans la session d'exécution de l'appli : Client\Pxxx#////impsrv/IMPRIMANTE1.

    Nous sommes capable d'y faire de impressions directes (via l'objet Printer sa propriété Canvas et ses méthodes BeginDoc/EndDoc).
    Par contre, dès que l'on tente l'impression d'un état QuickReport, on obtient le message : "division par zero en virgule flottante" sur l'évênement OnPrint

    L'aperçu fonctionne correctement, par contre, on se retourve avec 1 seule page, vierge, envoyée au spooler d'impression.

    J'ai cherché les divisions dans les sources et ai prévenu l'erreur concernant les variables Size et Resolution (if <>0...) sans succès

    Quelqu'un a été confronté à ce problème ?
    Il y a-t-il une précaution à prendre dans mon code, unecorrection à faire dans QuickReport ?? Je n'ai pas trouvé d'update.

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 036
    Points : 40 942
    Points
    40 942
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    Quelqu'un a été confronté à ce problème ?
    OUI, mais cela fait très longtemps que je n'utilise plus Quickreport (sauf mes vieux programmes) et encore moins dans un environnement aussi complexe!
    La division par zéro en virgule flottante était souvent due à un manque de déclaration d'imprimante sur le poste (mais ce doit pas être le cas)

    Il y a-t-il une précaution à prendre dans mon code, une correction à faire dans QuickReport ?
    j'ai également eu un problème avec la version 3 et l'arrivée de windows vista avec le déplacement des fichiers du spouleur dans des dossiers au nom trop longs (je n'ai pas retrouvé le post à ce sujet, ni ne me souviens de comment j'ai contourné le problème : un déplacement du spouleur je crois à moins que ce soit dans QRPTprn.pas) mais je crois que l'erreur était plutôt 'metafichier incorrect'

    une question cependant : si l'imprimante Client\Pxxx#////impsrv/IMPRIMANTE1. est l'imprimante définie par défaut est-ce que l'impression fonctionne ?
    une remarque : il s'agit de D2009 donc Unicode mais la version de Quickreport l'est-elle bien ? (le changement des Strings de ANSIString à WideString est-il bien correct ?)
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 22
    Points : 32
    Points
    32
    Par défaut
    Bonjour,

    merci pour cette réponse, Sergio,

    Citation Envoyé par SergioMaster Voir le message
    La division par zéro en virgule flottante était souvent due à un manque de déclaration d'imprimante sur le poste (mais ce doit pas être le cas)
    Le serveur n'a en efet à ma connaissance aucune imprimante déclarée localement, ce sont celles du poste client qui y sont remontées (et sans doute même dans le cadre du gestionnaire d'impressions Citrix)

    Citation Envoyé par SergioMaster Voir le message
    une question cependant : si l'imprimante Client\Pxxx#////impsrv/IMPRIMANTE1. est l'imprimante définie par défaut est-ce que l'impression fonctionne ?)
    L'imprimante sélectionnée dans l'application est systématiquement forcée comme imprimante par défaut avant tout début de job d'impression ; pour en récupérer les caractéristiques de support d'impression (A4 et non étiquette) par exemple, celà nous a semblé incontournable avec Delphi.
    Pour celà, on appelle printer.getprinter, éventuellement GetProfileString, puis printer.setprinter, éventuellement WriteProfileString
    J'aurai peut-être interêt à proposer un programme test sans toute cette démarche élaborée au fil de l'évolution de notre appli.

    Citation Envoyé par SergioMaster Voir le message
    une remarque : il s'agit de D2009 donc Unicode mais la version de Quickreport l'est-elle bien ? (le changement des Strings de ANSIString à WideString est-il bien correct ?)
    Oui, nous avons dû adapter l'ensemble qui tourne bien sous client riche

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 036
    Points : 40 942
    Points
    40 942
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par joue l'autre Voir le message
    L'imprimante sélectionnée dans l'application est systématiquement forcée comme imprimante par défaut avant tout début de job d'impression ; pour en récupérer les caractéristiques de support d'impression (A4 et non étiquette) par exemple, cela nous a semblé incontournable avec Delphi.
    étrange, perso je passe (ou plutôt passais) par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Quickrep1.PinterSettings.PrinterIndex:=Printer.PrinterIndex
    après un PrintDialog.Execute (ou printersetupdialog.Execute

    Quant à la récupération des caractéristiques je me souviens déjà avoir mis du code sur ce forum (une petite recherche avec les mots clés "bacs" ou "bin" devrait donner la discussion)

    J'aurai peut-être intérêt à proposer un programme test sans toute cette démarche élaborée au fil de l'évolution de notre appli.
    bonne idée ! sans avoir à changer l'imprimante par défaut c'est mieux
    1 Quickrep bidon , 1 PrintDialog c'est loin d'être un programme difficile
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 22
    Points : 32
    Points
    32
    Par défaut problème réglé
    Le programme test a permi de reproduire l'erreur et de le résoudre par l'environnement : mise à jour du pilote d'impresion.
    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] Impression états sous pdf par regroupement
    Par Oriane82 dans le forum VBA Access
    Réponses: 1
    Dernier message: 26/11/2011, 22h15
  2. Envoyer une impression vers une imprimante réseau sous DOS
    Par atasekpo dans le forum Administration
    Réponses: 3
    Dernier message: 28/06/2010, 15h58
  3. [CR8.5] Problème de division par zéro sur formule
    Par franck.cvitrans dans le forum Formules
    Réponses: 3
    Dernier message: 10/06/2004, 13h41
  4. Réponses: 10
    Dernier message: 24/02/2004, 12h28
  5. probleme avec une division par zéro
    Par jcharleszoxi dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/03/2003, 18h14

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