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 FMX Delphi Discussion :

Composant Mixte dernière mise au point : Duplicate resource


Sujet :

Composants FMX Delphi

  1. #1
    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 Composant Mixte dernière mise au point : Duplicate resource
    Bonjour,

    C'est une suite à cette discussion mais j'ai préféré séparer (vous y retrouverez
    le code complet)

    Le composant mixte fonctionne mais cet avertissement me gêne
    [dcc32 Conseil] H2161 Warning: Duplicate resource: Type 12 (CURSOR GROUP), ID 32763; File d:\embarcadero\studio\20.0\lib\Win32\release\controls.res resource kept; file d:\embarcadero\studio\20.0\lib\Win32\release\FMX.Controls.Win.res resource discarded.
    Je comprends bien que j'ai "mélangé" du VCL et du FMX mais je ne vois pas où
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    {$IFNDEF FMX} unit ImageFile; {$ENDIF}
     
    interface
     
    uses
      System.SysUtils, System.Classes, System.IOUtils,
      System.Bindings.Outputs,System.Rtti,System.TypInfo,
      {$IFDEF FMX}
        FMX.Types, FMX.Controls, FMX.Objects, FMX.Graphics,
      {$ELSE}
        Vcl.Controls, Vcl.ExtCtrls,Vcl.Graphics,
        Vcl.Imaging.GIFImg, VCL.Imaging.JPEG, VCL.Imaging.PngImage,
      {$ENDIF}
      Data.Bind.Components;
    Je suis conscient qu'une simple directive de compilation pourrait éviter l'affichage de cet avertissement mais j'aimerais comprendre cette histoire de .res


    De même, lorsque je crée une application FMX et que je pose mon composant mixte deux fichiers se mettent dans la liste des uses : ImageFile, ......, ImageFileFMX; les inverser provoque une erreur
    je ne comprends pas pourquoi je n'ai pas seulement ImageFileFMX, même si, étant réduit à sa simple expression
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    unit ImageFileFMX;
    {$DEFINE FMX}
    {$I ImageFile.pas}
    il fait bien appel à ImageFile.pas

    Bref, c'est ma dernière ligne droite avant de franchir l'arrivée de l'étape et ces deux points me gênent. Des solutions à proposer ?
    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

  2. #2
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    bizarre, ça laisserait supposer que tu inclus deux fois ce qui provient de FMX.Controls ors j'ai rien vu dans ton source qui ferait ça

  3. #3
    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
    Justement moi non plus et du coup, ça gratte

    Bon, ce n'est peut-être pas la bonne piste mais je me pose la question sur les icônes de composant.
    Dans le bon vieux temps pour ajouter une icône
    Dans Delphi, sélectionnez le menu Outils|Éditeur d'images. L'éditeur d'images s'ouvre. Sélectionnez le menu Fichier|Nouveau|Ressources composants (*.dcr). Une nouvelle fenêtre s'affiche. Faites alors Ressource|Nouvelle|Bitmap. Sélectionnez une taille de 24*24 pixels. Nommez la ressource du nom du composant correspondant.
    Enregistrez le tout sous le nom de RegComposTuto.dcr (vous devez utiliser le même nom de fichier que celui de l'unité qui enregistre les composants avec l'extension .dcr).
    Mais maintenant il n'y a plus cet éditeur d'image on fait comment maintenant
    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

  4. #4
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    sur l'icône l'aide pèche par son absence sur docwiki, mais as-tu essayé de joindre l'image en ressource dans le package ou depuis l'utilitaire de déploiement (là, j'y crois pas du tout) ?

  5. #5
    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,
    Citation Envoyé par pprem Voir le message
    Mais as-tu essayé de joindre l'image en ressource dans le package ?
    Oui, et ça fonctionne dès que l'on fait attention à une chose : Il faut que le nom de la ressource (pas de l'image) corresponde exactement au nom du composant
    ça c'est
    Reste toujours ce double appel à Controls qui se niche quelque part.
    Quand on y regarde de plus près :

    J'en ai besoin dans la procédure register
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    unit RegImageFileFMX;
     
    interface
     
    uses System.Classes, Data.Bind.Components,
    //     FMX.Controls,
         ImageFileFMX;
     
    procedure Register;
     
    implementation
     
    uses FMX.Controls;
     
    procedure Register;
    begin
      GroupDescendentsWith(TFileImage, Fmx.Controls.TControl);
      RegisterComponents('Tutoriels', [TFileImage]);
    end;
     
    initialization
      Data.Bind.Components.RegisterObservableMember(TArray<TClass>.Create(TFileImage), 'NomFichierImage', 'FMX');
    finalization
     Data.Bind.Components.UnregisterObservableMember(TArray<TClass>.Create(TFileImage));
    end.
    j'ai déplacé dans cette utilisation dans la partie Implémentation , j'ai fait la même chose pour VCL et pour l'unité du composant

    rien n'y fait j'en conclus que c'est bien ce double appel ImageFile, ......, ImageFileFMX qui est la cause du problème AMHA il y a là quelque chose d'illogique
    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

Discussions similaires

  1. Mise au point d'un bon algo
    Par cryptorchild dans le forum Langage
    Réponses: 3
    Dernier message: 08/10/2005, 17h04
  2. Valeur à la dernière mise à jour ?
    Par szdavid dans le forum Langage SQL
    Réponses: 5
    Dernier message: 06/09/2005, 08h40
  3. Petite mise au point avec gluUnProject.
    Par fatpat94 dans le forum OpenGL
    Réponses: 1
    Dernier message: 27/07/2005, 15h40
  4. [Mise au point] dhcp
    Par Ernest dans le forum Développement
    Réponses: 5
    Dernier message: 07/10/2004, 17h56
  5. Questions de mise aux points
    Par nicoo dans le forum DirectX
    Réponses: 5
    Dernier message: 11/05/2004, 14h01

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