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

FastReport Discussion :

Utilisation de l'objet OLE avec FastReport 4 + Delphi


Sujet :

FastReport

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 228
    Points : 117
    Points
    117
    Par défaut Utilisation de l'objet OLE avec FastReport 4 + Delphi
    Bonjour,

    J'ai besoin d'éditer un fichier pdf. Pour celà, je pensais utiliser l'objet OLE de FastReport, mais je n'arrive pas à charger ce fichier.
    J'ai posé l'objet OLE sur une bande "MasterDate" sans assignation de base de données, car je veux charger le fichier par le code.

    Dans l’événement OnBeforePrint de l'objet j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure OLE1OnBeforePrint(Sender: TfrxComponent);
    begin
       TfrxOLEView(sender).OleContainer.CreateObjectFromFile(<image>, true);
    end;
    <image> correspond à la variable qui contient le chemin du fichier pdf.

    Je me retrouve avec cette erreur :
    Nom : Sans titre.jpg
Affichages : 616
Taille : 43,4 Ko

    Je ne comprends pas pourquoi TOleContainer n'est pas reconnu !!
    Merci pour votre aide sur ce sujet.
    Cordialement
    Patrick

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    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 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    je n'ai jamais utilisé un objet OLE .
    Si le code se trouve dans le programme Delphi n'est-ce pas dû à l'oubli de l'ajout d'un composant TfrxOLEObject sur la forme forçant ainsi l'ajout de l'unité frxOLE ?
    S'il s'agit d'un FastReport Script Pascal pour l'instant, je sèche
    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
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 228
    Points : 117
    Points
    117
    Par défaut
    Bonjour et merci pour ta réponse.

    C'est du FastReport Script Pascal, mais je viens de tester sous Delphi avec ce code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    frxReport1.LoadFromFile(ExtractFilePath(Application.ExeName) + 'report\pdf.fr3');
    TfrxOLEView(frxReport1.FindObject('OLE1')).OleContainer.CreateObjectFromFile(DM.cheminetat, false);
    frxReport1.PrepareReport;
    frxReport1.Print;
    Avec ce code, je n'ai pas d'erreur générée par Delphi dans la construction du projet et tout compile parfaitement. Le composant TfrxOLEObject est bien sûr sur la fiche.
    Par contre, j'ai toujours la même erreur en mode débogage du programme.
    Je sèche un peu là.

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    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 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    re,

    les recherches que j'ai pu faire indique que si l'on n'a pas les sources de fastreport (il faut modifier le frxRTTI) le meilleur moyen est de faire une fonction Delphi à intégré à fastreport de façon à pouvoir l'utiliser dans le script.
    Pour faire une fonction ? se référer au manuel programmeur
    Sinon, il ne faut pas utiliser le script et faire comme si l'on avait la version Embarcadero de fastreport (donc non enregistrée)

    Je ne suis pas aller plus loin. J'ai déjà fait des états avant d'avoir une version enregistrée donc je sais que cette partie est possible mais la solution fonction, je n'ai jamais tenté encore !
    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
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 228
    Points : 117
    Points
    117
    Par défaut
    Je te remercie beaucoup, mais là c'est au-dessus de mes connaissances d'amateur.
    J'utilise la version standard de Fastreport 4 que j'avais achetée il y a quelques années et non pas la version XE de Fast report. Mais malheureusement, les sources du fichier à modifier ne sont pas dans cette version standard.
    C'est énervant d'avoir un composant présent dans la version et de ne pas pouvoir s'en servir

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 228
    Points : 117
    Points
    117
    Par défaut
    En fait, çà fonctionne bien en passant par Delphi. C'est le code qui était resté dans mon état FastReport qui me faisait cette erreur.
    Désolé SergioMaster de n'avoir pas vu cela plus tôt.
    Merci pour ton aide.
    Bonne soirée.

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

Discussions similaires

  1. Utilisation d'un objet OLE dans un fichier excel
    Par Leniouns dans le forum Général Java
    Réponses: 6
    Dernier message: 06/12/2011, 15h11
  2. Affichage avec objets OLE
    Par lieutenant dan dans le forum IHM
    Réponses: 1
    Dernier message: 12/01/2007, 17h34
  3. Pb avec Excel et les objets OLE
    Par demis dans le forum VBScript
    Réponses: 10
    Dernier message: 14/11/2006, 16h27
  4. Peut on utiliser un objet com avec eclipse
    Par MoiAussi dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 22/09/2006, 15h47
  5. Gestion des event avec un objet ole MsExcel
    Par rdemont dans le forum Delphi
    Réponses: 3
    Dernier message: 03/07/2006, 16h08

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