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 :

Impression dans une MDI Application


Sujet :

Composants VCL Delphi

  1. #1
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut Impression dans une MDI Application
    Salut à tous.
    J'ai déjà posté cette question mais j'ai pas de réponse concrete.
    J'ai une application MDI.
    Une fiche avec Compo QuickReport.

    Comment puis je faire pour pouvoir imprimer correctement :
    Dois je mettre la form contenant le QuickRep à FsMDI aussi ou le laisser à fsNormal.
    COmment pourrait je créér ma fiche at runtime.

    Merci de vos réponse

  2. #2
    Membre confirmé Avatar de JustMe
    Inscrit en
    Juillet 2002
    Messages
    479
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 479
    Points : 594
    Points
    594
    Par défaut Visualisation en Child
    J'ai une solution à te proposer.

    1 - Tu utilise Une Fiche MDIChild avec un QRPreview1 mais pas un QuickRep. (La fiche est nommée par Example FormPreview).
    2 - Dand la fiche qui contient le QuickRep (nommée par example FormQuickRep) et dans l'événement du QuickRep OnPreview Tu met :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    FormPreview.QRPreview1.QRPrinter:=QuickRep1.QRPrinter;
    {Cette ligne de code passe la prévisualisation de ton état de la fenêtre standard de prévisualisation vers le QRPreview.}
    3 - Enfin pour previsualiser ton état tu crée la Form de prévisualisation et tu appele le preview du QuickRep comme connu.
    avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    FormPreview:=TFormPreview.Create(Application);
    FormQuickRep.QuickRep1.Preview;
    Normalement ça doit marcher. j'espère que ça va t'aider.

  3. #3
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Merci Peti_Delphiste.

    Est ce que la form qui contient QuickRep est aussi du Style FsMDIChild ou Fnormal.?

    Merci

  4. #4
    Membre confirmé Avatar de JustMe
    Inscrit en
    Juillet 2002
    Messages
    479
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 479
    Points : 594
    Points
    594
    Par défaut Reponse
    La form qui contient le QuickRep n'est qu'un parent pour le quickrep (on ne peut pas mettre l'objet dans le vide) elle doit avoir fsNormal pour qu'elle ne soit pas visible.

  5. #5
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Ca ne marche pas encore . J'ai une message d'erreur à cette endroit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    PRepInForm.QRPreview.QRPrinter := QuickRep.QRPrinter;
    Le message : 'Access violation at address 055A06F in module SAV.exe. Read of address 000002F0' quand je lance l'appli .
    Et si je clic sur Ok ca continue mais l'impression ne se fait pas

    Je vais voir pourquoi

    A+

  6. #6
    Membre confirmé Avatar de JustMe
    Inscrit en
    Juillet 2002
    Messages
    479
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 479
    Points : 594
    Points
    594
    Par défaut Reponse
    Tu es sur que tu a créé la forme qui contient le QRPreview avant l'appel de la méthode preview du Quickrep?

  7. #7
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Bien sur que oui Petit_Delphiste

    J'ai mis FReport : Form Contenant QuickRep à FsNormal et je l'ai laissé en auto création.
    J'ai mis dans FPreview une form en fsMDIChild un QrPreview
    Puis j'ai créé une procedure qui va faire le necessaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    procedure TFReport.QuickRepPreview(Sender: TObject);
    begin
        FPreview.QuickPreview.QrPrinter := QuickRep.QRPrinter;
    end;
    et au moment de l'apercu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    procedure TMainForm.PreviewFiche;
    var Child : TFPreview
    begin
        child :=  TFPreview.Create(Application);
        FReport.QuickRep.Preview
    end;
    mais ça bug au moment du passage de la previsualisation

    A+

  8. #8
    Membre confirmé Avatar de JustMe
    Inscrit en
    Juillet 2002
    Messages
    479
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 479
    Points : 594
    Points
    594
    Par défaut
    procedure TFReport.QuickRepPreview(Sender: TObject);
    begin
    FPreview.QuickPreview.QrPrinter := QuickRep.QRPrinter;
    end;

    et au moment de l'apercu

    procedure TMainForm.PreviewFiche;
    var Child : TFPreview
    begin
    child := TFPreview.Create(Application);
    FReport.QuickRep.Preview
    end;
    Tu as une forme nommée FPreview ensuite tu crée une form nommée child c'est la qu'il ne trouve pas la forme FPreview dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FPreview.QuickPreview.QrPrinter := QuickRep.QRPrinter;
    Alors dans ta procedure de prévisualisation tu écrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    procedure TMainForm.PreviewFiche; 
    begin 
        FPreview :=  TFPreview.Create(Application); 
        FReport.QuickRep.Preview 
    end;
    et pas question de child ici .
    j'espère que ca marcherait cette fois-ci.

  9. #9
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    J'ai finalement trouvé la source du problème Petit-Delphiste en l'executant pas à pas.
    J'ai du mettre FPreview en variable global dans MainUnit au lieu de mettre FPreview en variable local de la procedure MainForm.Preview.

    Maintenant j'arrive à avoir l'apercu.

    Merci à vous tous

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

Discussions similaires

  1. SDK pour impression dans une application en mode web
    Par loxess dans le forum API, COM et SDKs
    Réponses: 0
    Dernier message: 08/02/2008, 14h10
  2. Envoyer du texte dans une autre application (ou send key)
    Par Coussati dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 10/02/2006, 15h26
  3. Impression dans une image
    Par Kcirtap dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 28/11/2005, 13h41
  4. Affichage d'un splitter dans une MDI
    Par SBP dans le forum MFC
    Réponses: 2
    Dernier message: 23/10/2005, 20h54
  5. comment ecrire du texte dans une window application
    Par gaut dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 16/07/2003, 10h23

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