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

C++ Discussion :

Embarcadero C++ - TspeedButton - Probl�me affichage image


Sujet :

C++

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 3
    Par d�faut Embarcadero C++ - TspeedButton - Probl�me affichage image
    Bonjour � tous,

    Je d�veloppe une application sous Embarcadero C++ Builder en utilisant des boutons de type TspeedButton. Quand je lance mon application dans l'�diteur tout ce passe bien. Par contre en dehors de l'�diteur, au lancement de l'application les bouttons s'affichent mais l'images de fond ne s'affichent pas. J'ai juste un carr� blanc qui s'affiche en image de fond de chaque bouton. Avez-vous une id�e de la cause de ce type de probl�me et comment je peut le r�soudre. Je pr�cise que j'utilise des images de format bmp.

    Merci pour votre aide

  2. #2
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par d�faut
    Tes images sont mal plac�es et/ou le path pour les charger est incorrect.
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 3
    Par d�faut
    Je vous remercie pour votre r�ponse. Les images que j'utilise sont charg�es avec l'inspecteur d'objet via la propri�t� Glyph. Je ne vois pas comment elles peuvent �tre mal plac�es. Je vous remercie de me guider plus.

  4. #4
    Expert �minent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activit� : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par d�faut
    Salut,
    Citation Envoy� par geek12 Voir le message
    Je vous remercie pour votre r�ponse. Les images que j'utilise sont charg�es avec l'inspecteur d'objet via la propri�t� Glyph. Je ne vois pas comment elles peuvent �tre mal plac�es. Je vous remercie de me guider plus.
    Bousk a parfaitement raison : le chemin d'acc�s pour acc�der � tes images est, de toute �vidence, mauvais lorsque ton application s'ex�cute en dehors de ton EDI.

    On va essayer d'�tre simple:

    Quand ton application est ex�cut�e, le syst�me d'exploitation part d'un dossier bien particulier pour pouvoir la lancer. C'est ce que l'on appelle le "dossier d'ex�cution".

    Ce dossier d'ex�cution est -- g�n�ralement -- clairement d�fini par ton EDI, quel qu'il soit, pour s'assurer que l'ensemble des fichiers auxquels tu essayera d'acc�der soient effectivement disponibles.

    Lorsque tu lances ton ex�cutable depuis "l'ext�rieur" de ton EDI, le dossier d'ex�cution d�fini par ton EDI ne peut pas �tre pris en compte, pour la simple et bonne raison que ton EDI n'est pas utilis�.

    Si tu ne d�finis pas toi-m�me le dossier d'ex�cution de mani�re � ce qu'il soit identique � celui qui est utilis� par ton EDI, ton application ne pourra pas trouver les fichiers auxquels tu essayes d'acc�der. C'est aussi simple que cela.

    Pire encore: Il arrive r�guli�rement que tu essaye d'installer ton application sur un ordinateur diff�rent de celui sur lequel elle a �t� d�velopp�e. On appelle cette �tape le d�ploiement.

    Si tu ne penses pas � copier les fichiers dont ton application a besoin au bon endroit (par rapport � l'ex�cutable de ton application) sur l'ordinateur qui devra l'ex�cuter, il n'y a forc�ment aucune chance pour que ton application soit capable de trouver les fichiers en question, vu qu'ils ne seront pas ** physiquement ** dans les dossiers dans lesquels elle esp�re les trouver (et que ces dossiers ont d'ailleurs de grandes chances de ne pas exister).

    L'id�al, est donc de pr�voir, � chaque fois que tu essaye d'acc�der � un fichier bien particulier, est -- dans un premier temps du moins (on va dire: au moins jusqu'� ce que tu aies pu d�terminer clairement quel est le dossier d'ex�cution ou les chemins d'ex�cution qui permettront d'acc�der aux fichiers) -- de s'assurer de mani�re syst�matique que le fichier auquel tu souhaite acc�der existe bel et bien avant d'essayer de l'utiliser, et de provoquer le lancement d'une exception si ce n'est pas le cas.
    A m�diter: La solution la plus simple est toujours la moins compliqu�e
    Ce qui se con�oit bien s'�nonce clairement, et les mots pour le dire vous viennent ais�ment. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 f�vrier 2014
    mon tout nouveau blog

  5. #5
    Expert confirm�
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 772
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 772
    Par d�faut
    Citation Envoy� par koala01 Voir le message
    L'id�al, est donc de pr�voir
    Non l'id�al est de transformer ces images en ressources, et ensuite de les donner au composant.

    Parce qu'une ressource est "mise" dans l'ex�cutable. Par contre, je ne sais plus comment faire (� part avec un fichier .rc � l'ancienne) ... il y a s�rement une option dans le menu parce qu'1 propri�t� (truc sp�cifique � Delphi) correspond � une option IDE.

    Et c'est bien le cas La classe Glyph d�rive de TBitmap et elle a 2 m�thodes publiques : LoadFromResourceID et LoadFromResourceName

  6. #6
    Expert �minent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activit� : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par d�faut
    Mais, m�me avec une ressource, on peut toujours douter de la pr�sence du fichier dans la ressource en question.

    Donc, m�me si le PO se met � cr�er la ressource ad-hoc, l'obtention d'un message explicite indiquant que le fichier recherch� n'existe pas reste une s�curit� � ne pas sous-estimer, m�me s'il ne doit s'agir que d'une assertion, qui sera supprim�e (normalement) � la fin de la p�riode debug
    A m�diter: La solution la plus simple est toujours la moins compliqu�e
    Ce qui se con�oit bien s'�nonce clairement, et les mots pour le dire vous viennent ais�ment. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 f�vrier 2014
    mon tout nouveau blog

  7. #7
    Expert confirm�
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 772
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 772
    Par d�faut
    Citation Envoy� par koala01 Voir le message
    Mais, m�me avec une ressource, on peut toujours douter de la pr�sence du fichier dans la ressource en question.
    Justement , avec 1 ressource, il n'y a plus de chemin (*) ni de fichier � proprement donn� : les donn�es sont copi�es en "dur" et tu as un identifiant.

    Donc le seul probl�me c'est que l'identifiant n'existe pas mais de souvenirs avec l'IDE Delphi/ C++ Builder tu ne peux pas vraiment te tromper contrairement � un chemin (qu'il faut v�rifier que l'IDE ne te mette pas un chemin relatif par exemple) ... � moins de ne pas passer par l'IDE, et de le coder.
    et avec l'utilitaire Resource Hacker (ResHack), tu peux v�rifier toutes tes ressources.


    *: tu as un chemin mais dans tes ressources. Mais tu n'as plus de chemin disque dur, relatif ou absolu parce que je pense que le probl�me doit �tre un chemin relatif


    Citation Envoy� par koala01 Voir le message
    l'obtention d'un message explicite indiquant que le fichier recherch� n'existe pas reste une s�curit� � ne pas sous-estimer, m�me s'il ne doit s'agir que d'une assertion, qui sera supprim�e (normalement) � la fin de la p�riode debug
    C'est un peu le probl�me : le composant n'affiche rien s'il ne trouve pas l'image. Peut-�tre qu'avec une ressource, tu as une exception du style "resource id not found" parce qu'elle vient de Windows.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 3
    Par d�faut
    Merci � tout le monde pour votre support.
    J'ai r�solu mon probl�me. Il s'agit d'un mode de compatibilit� appliqu� par Windows qui emp�che l'affichage des images ".bmp" au niveau des TspeedButton. En effet mon appli se lance en mode de compatibilit� Windows XP SP2 alors que j'utilise windows 10. En d�sactivant ce mode de compatibilit�, je n'ai plus le probl�me.
    Merci de nouveau pour votre support.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Probl�me affichage Images
    Par jason69 dans le forum Mise en page CSS
    R�ponses: 2
    Dernier message: 06/03/2007, 20h19
  2. [MySQL] probl�me affichage image avec sql
    Par igaurillac dans le forum PHP & Base de donn�es
    R�ponses: 2
    Dernier message: 14/02/2007, 18h04
  3. [VB]Probl�me affichage image dans IE6
    Par flogreg dans le forum VB 6 et ant�rieur
    R�ponses: 1
    Dernier message: 20/02/2006, 18h41
  4. Probl�me affichage image dans IE6
    Par flogreg dans le forum IE
    R�ponses: 6
    Dernier message: 13/02/2006, 14h29
  5. probl�me affichage image
    Par thealpacino dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 8
    Dernier message: 30/05/2005, 13h56

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