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

Langage Delphi Discussion :

FastReport mais c'est plus une question de langage


Sujet :

Langage Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 658
    Billets dans le blog
    65
    Par défaut FastReport mais c'est plus une question de langage
    Bonjour,

    Voilà le bout de code qui me pose soucis dans le frxdesigner (qui permet à l'utilisateur de modifier un état)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    procedure TfrxDesignerForm.SaveCmdExecute(Sender: TObject);
    begin
      FInspector.ItemIndex := FInspector.ItemIndex;
      if CheckOp(drDontSaveReport) then
        SaveFile(False, Sender = Self);
    end;
    Pour moi, c'est la condition Sender=Self le pb, toujours faux, impossible de proposer mon propre évènement (onSaveReport) qui n'est déclenché que si cette valeur est true
    l'objectif : après la sauvegarde fermer le designer
    Pensez-vous qu'un petit hack me permettrait de changer le comportement ? J'ai toujours hacker des propriétés mais très peu souvent des procédures, comment faire en sorte d'écraser celle-ci ?

  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
    TfrxDesignerForm ?
    Tu dois avoir une version amélioré de FastReport et pas celle par défaut de Delphi qui semble ne contenir que DFM et DCU

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FInspector.ItemIndex := FInspector.ItemIndex;
    Oh le truc qui pue pour appeler un Setter et stabiliser une bouse



    Le Sender quand tu débuggue ce n'est pas plutôt l'action SaveCmd (je suppose un TAction)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SaveFile(False, (Sender as TAction).ActionList.Owner = Self);
    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

  3. #3
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 658
    Billets dans le blog
    65
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    TfrxDesignerForm ?
    Tu dois avoir une version amélioré de FastReport et pas celle par défaut de Delphi qui semble ne contenir que DFM et DCU
    la version enregistrée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FInspector.ItemIndex := FInspector.ItemIndex;
    Oh le truc qui pue pour appeler un Setter et stabiliser une bouse
    je n'y avais même pas fait attention ! C'est la première fois que je mets le nez dans les sources de FastReport, c'est vraiment pas joli joli ça

    Le Sender quand tu débuggue ce n'est pas plutôt l'action SaveCmd (je suppose un TAction)
    Non, il n'y a aucune TAction. C'est un onclick d'un bouton donc tout comme donc le Sender est un TButton et non la forme et donc false !

    J'ai essayé de hacker, SaveFile mais j'ai été renvoyé dans les cordes : ce n'est pas une méthode virtuelle
    je vais tenter un coup de poker en assignant un autre évènement au OnClick

  4. #4
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 658
    Billets dans le blog
    65
    Par défaut
    Bon, le hacking ce n'était pas tout à fait la bonne piste, j'ai résolu mon problème de la façon suivante :

    j'ai créé une procédure : procedure SaveEvent(Sender : TObject);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TFormFRDesign.SaveEvent(Sender: TObject);
    begin
    TFrxDesignerForm(Etat.Designer).SaveFile(False,true);
    end;
    et assigné celle-ci au bouton du designer de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TFrxDesignerForm(Etat.Designer).SaveB.OnClick:=SaveEvent;
    dans l'évènement OnShow du composant frxDesigner de ma forme.
    J'ai encore un petit doute au niveau de la déclaration de la procédure (une histoire de TNotifyEvent qui me titille)
    mais l'objectif est atteint, dans mon designer le clic sur le bouton lève bien l'évènement OnSaveReport du frxDesigner

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

Discussions similaires

  1. Bill Gates : l'impôt sur la société n'est pas une question morale
    Par Stéphane le calme dans le forum Actualités
    Réponses: 6
    Dernier message: 02/12/2019, 15h18
  2. Ce n'est pas une question
    Par wilfried_42 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/04/2012, 23h51
  3. Quand l'erreur n'est plus une erreur !
    Par bonomsoleil dans le forum ASP.NET
    Réponses: 1
    Dernier message: 06/10/2009, 10h16
  4. c'est qu'une question de condition
    Par guismoman33 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 31/05/2007, 06h04

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