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

Rave Discussion :

[Rave Report] Sortie PDF curieuse


Sujet :

Rave

  1. #1
    Membre Expert
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 157
    Par défaut [Rave Report] Sortie PDF curieuse
    Bonjour a tous,

    J'utilise les composants RaveReport (Version incluse dans Delphi 2010) pour créer des rapports en PDF (via TRvRenderPDF).

    Tout fonctionne parfaitement, sauf de temps en temps ou la sortie donne ceci (voir pièce jointe).

    Apparemment cela arrive de manière "aléatoire", ou en tout cas je n'ai pas trouvé ce qui pourrait provoquer cela !!!!
    j’arrête et recommence et ça fonctionne

    merci
    Images attachées Images attachées  

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 946
    Billets dans le blog
    66
    Par défaut
    Bonjour ,

    je n'ai jamais rencontré ce problème sur mes états pdf ( pourtant j'en fais faire automatiquement 3 ou 4 tous les jours ouvrables)

    Maintenant je sais que les RTF posent des soucis avec Rave . Il faudrait en savoir plus sur comment est construit le Rave pour essayer d'apporter une réponse

  3. #3
    Membre Expert
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 157
    Par défaut
    Bonjour Serge

    Je ne sais pas quoi dire...

    Je ne fais que de très banal :
    - j'ai une page Rave
    - le transfert d'info vers cette feuille se fait par des événements OnGetRow et l'envoi de paramètres via "eRave.SetParam('param', valeur)";

    Je fais comme toi des publipostages très réguliers, mais cela arrive depuis quelques semaines mais de manière irrégulière.

    Ce matin, plusieurs centaines d’informations sont parties et au milieu, bang !
    Dans un des messages qui contient 25 PDFs, le 12eme devient incompréhensibles. Et également tous les PDFs suivant du même message et tous ceux des messages suivants....

    je peux t'envoyer ce message pour mieux visualiser ce passage, mais peut être pas sur le forum, rien confidentiel défense mais quand même ?

    olivier

  4. #4
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 946
    Billets dans le blog
    66
    Par défaut
    les events OnGetRow , ça j'aime
    pour ce qui est des params , je suis un peu plus allergique

    en fait ce que je voudrais surtout savoir c'est comment est fait ton état Rave (plus particulièrement la partie 'lettre' de ton image)
    est-ce :
    - Un Memo Fixe dans l'état possibilité de bugs
    - Un RTF Fixe problable
    - un ensemble de labels
    etc ... les possibilités sont nombreuses

  5. #5
    Membre Expert
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 157
    Par défaut
    Merci

    Il s'agit surtout de Memo

    Voici le fichier rav (plus simple qu'un long discours )


    olivier
    Fichiers attachés Fichiers attachés

  6. #6
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 946
    Billets dans le blog
    66
    Par défaut
    Bonjour,

    Effectivement des mémos (2) + des mailMerge c'est plus que la possibilité de bugs (Nevrona est fâché avec les mémos depuis de début )

    1° suggestion d'essai n'avoir ,si possible, qu'un seul mémo pour le mail merge .
    2° Suggestion , essayer avec 1 mémo par champ toujours via mailmerge
    3° Suggestion , essayer sans mailmerge (passer par Delphi pour remplir le memo)
    4° Suggestion , si Nevrona a réouvert le lien aller voir les tips , il me semble qu'il y a 2 ou 3 trucs sur les mémos "récalcitrants"
    ce lien est une nouvelle fois inopérant mais on peut toujours espérer

    Autre possibilité c'est un bug du Render PDF trop sollicité ?
    ce que je ne sais pas c'est si le PDF est 1)un courrier ou 2) l'ensemble des courriers (comme l'état semble le suggèrer) ?
    si c'est la réponse 2 : oublies !
    si c'est la réponse 1
    - mettre un 'temporisateur' , vérifier le close du report , et tout autre truc en rapport avec de la libération de mémoire
    - je n'aurais pas conçu le report de la même manière (sans vouloir t'offenser

  7. #7
    Membre Expert
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 157
    Par défaut
    merci,


    ton hypothèse sur la mémoire me plait bien

    La structure d'envoi des PDFs est celle-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    IF NOT fDivers.eRave.Active THEN
         fDivers.eRave.Open;
    fDivers.eRave.SelectReport('Reprise', True);
    .....
    WHILE NOT Query_Bis.Eof DO
    BEGIN
       .....
       fDivers.eRave.Execute;
       ......                            
     
    END;
    fDivers.eRave.Close;
    Ainsi le Executepeut se réaliser plusieurs dizaines voire centaines de fois avant de passer par le CloseJe viens de modifier cette structure en :
    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
    IF NOT fDivers.eRave.Active THEN
         fDivers.eRave.Open;
    fDivers.eRave.SelectReport('Reprise', True);
    .....
    WHILE NOT Query_Bis.Eof DO
    BEGIN
       .....
        IF NOT fDivers.eRave.Active THEN
            fDivers.eRave.Open;
        fDivers.eRave.SelectReport('Reprise', True);
        fDivers.eRave.Execute;
        fDivers.eRave.Close;
       ......                            
     
    END;
    fDivers.eRave.Close;
    et le problème n'est pas réapparu (mais je ne suis pas sur que cela sois résolu) après environ la génération de 2000 PDFs.
    Cette structure ne me plait pas trop... Et je regarderais un peu plus à fond la gestion mémoire comme tu le proposes.

    je n'aurais pas conçu le report de la même manière (sans vouloir t'offenser
    Vraiment aucun problème, si tu as des propositions ou des modèles je suis au contraire preneur de suivre les conseils de vrais pro

    a+
    olivier

  8. #8
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 946
    Billets dans le blog
    66
    Par défaut
    des suggestions , j'en ai des tas , surtout au vue du code d’exécution

    -j'ai remarqué que tu utilisais des databands pour chaque partie de la lettre , cela me semble excessif .

    1- la partie Principal , j'en aurais fait une ou 2 Bandes 'Body Header' (un pour ton mirror sEntete , l'autre pour sAdresse ) , d'ailleurs je n'aurais même pas utilisé de mirror (tu as beau me traiter de pro je sais toujours pas gérer correctement les mirrors )
    si comme je le suppose seul l'entête avec logo (qui me rappelle de vieux souvenirs de fac) se répète sur chaque feuille (au cas ou la liste de donnée fait plus d'une page) cocher 'Print occurence : First et Newpage'
    pour la partie adresse seul Print occurence First
    Toujours pour la partie adresse , l'image de l'animal (pas le destinataire ) je l'aurais traitée différemment et surtout pas par un event rave qui restreint les images aux bmp files
    2- la partie 'courrier' , idem , une Bande 'Body Header' (de là a la fusionner avec la partie adresse , il n'y a qu'un petit pas a franchir)

    je ne touche pas au reste

    Ah, petit détail , une bande n'est pas obligée d'être une dataBand pour y faire imprimer des données ,( c'est peut être le fait de ne pas le savoir qui t'a fait faire la structure de ton Rave ?)

    Serge

  9. #9
    Membre Expert
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 157
    Par défaut
    Merci BEAUCOUP

    Je vais mettre en œuvre tes conseils.


    Je vais mettre le post comme résolu, mais si je ne suis pas tout a fait sur que cela soit le cas

    Merci encore

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

Discussions similaires

  1. [rave report 5][delphi] Sauvegarde au format pdf
    Par daheda dans le forum Delphi
    Réponses: 4
    Dernier message: 08/11/2006, 13h37
  2. Protection de document PDF avec RAVE Report.
    Par Delphi2703 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 09/02/2006, 08h33
  3. Editions XMLRAD 7 - Rave Report
    Par clisson dans le forum XMLRAD
    Réponses: 7
    Dernier message: 18/10/2005, 15h06
  4. [Rave Report][StringField]
    Par PpPool dans le forum Rave
    Réponses: 3
    Dernier message: 28/10/2003, 21h34
  5. [Rave Report] problème de création dynamique
    Par Nivux dans le forum Rave
    Réponses: 2
    Dernier message: 24/05/2003, 00h07

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