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++Builder Discussion :

Faire un dynamic_cast de manière "dynamique"


Sujet :

C++Builder

  1. #21
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Salut,
    désolé, je doit as être très clair non plus,
    effectivement on as un objet, une propriété et une valeur, le problème est que ces propriétés "basic" prenne de simples Strings, or la j'ai une propriété (Items) qui ne prend pas une String mais un TStringList (sur le composant tels que ComboBox, RadioGroupBox,...), et la fonction SetPropValue ne veut pas prendre mon TStringList. Ensuite au niveau du xml, pour le moment j'ai une chaine de caractère et les éléments sont séparé par un \n, mais c'est un fichier dont je définit moi même le contenu, donc je peut très bien modifier cela pour que ce soit plus simple, ou tout simplement faisable.

  2. #22
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Bonsoir,

    J'avoue avoir zappé un peu depuis qq jours, désolé , c'est peut être résolu depuis (?) ... reste que si tu peut gérer toi même de la structure du XML contenant les infos, ne peut tu pas alors t'arranger afin de pouvoir charger - dans un 'vrai' TStringList de l'appli qui tourne - l'un après l'autre les éléments qui doivent constituer la liste ?
    On doit pouvoir avoir des 'balises' qui te permettent de savoir ou est le début puis la fin de la zone contenant les valeurs a stocker en liste, et lire/decoder celles ci et les passer chacune dans un 'Item' de la TStringList (?).

    ++

  3. #23
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Oui, effectivement, je peut recharger une TStringList, le problème est pour charger la TStringList dans le composant, vu que je ne connait pas le type du composant, enfin, je vais refaire des tests ce soir, je te tiendrais au courant.

  4. #24
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    oki, mais dans ce cas pourquoi ne pas travailler ensuite directement sur la TStringList ? J'ai l'impression que tu vas essayer - pour ce cas - de passer par 'SetPropValue', et je ne sais pas si c'est possible dans ce cas la.
    En tout cas, de mon côté, je ne sais pas encore comment faire.

    Bon courage,
    @+

  5. #25
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Oui je pourrai, mais comme je n'ai qu'un TComponent, voir TControl, et que la propriété Items n'est pas défini à ce niveau, je ne peut pas

  6. #26
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Salut pottiez
    Un lien qui je pense va t'interesser, desole c'est en polonais

  7. #27
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    J'ai presque réussi a faire ce que je voulais, il me reste deux choses,
    la TStringList pour les Items, et je voudrais passer un evenemnt OnClick en parametre d'une fonction, mais plus moyen de mettre la main sur la méthode à utiliser pour le faire, j'ai toujours une erreur .

  8. #28
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    J'avance, il ne me reste lus qu'a passer l'evenement en parametre

  9. #29
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Voila, j'ai fini mon programme, je vous donne des nouvelles lorsque l'article sera pret, encore merci beaucoup à vous

  10. #30
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Citation Envoyé par pottiez Voir le message
    Voila, j'ai fini mon programme, je vous donne des nouvelles lorsque l'article sera pret, encore merci beaucoup à vous

    Oui, désolé de ma curiosité, mais j'aimerais voir ce que ca donne a la fin ... j'espère que tu as pu obtenir ce que tu cherchais. (désolé de ne pas avoir pu 'travailler'/aider plus sur la fin du problème)

    @+

  11. #31
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Ya pas de mal, a la fin pour les TStrings, je suis repassé a un if avec le type du composant et le dynamic_cast, ce qui me permet de recupérer un pointeur du TString, que je remplis avec les données de mon xml, c'est aussi portable que je le souhaité, mais comme j'ai déjà enormément réduit mon code pour le prorpiété de type String, ca me convient comme cela

  12. #32
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Bonjour,
    je reviens à vous car lorsque je compile mon application sous BCB6 il me fait une lieur erreur sur la fonction GetPropList alors que tout fonctionne correctement sous BCB2006 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Lieur Erreur] Unresolved external '__fastcall Typinfo::GetPropList(System::TObject *, Typinfo::TPropInfo * *&)' referenced from C:\DOCUMENTS AND SETTINGS\ALEXANDREP\BUREAU\SRC6\GESTIONLANGUE.OBJ
    Je ne vois pas du tout d'ou ca peut provenir, j'ai regardé par rapport à mon projet 2006, il ne manque rien, bizard

  13. #33
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Salut pottiez
    Un lien avec je pense le meme probleme, je ne sais pas s'il y a une solution

  14. #34
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Merci pour ce lien, j'ai trouvé une autre fiche de bug parlant du même problème mais avec une solution, seulement je n'arrive pas à la mettre en place, j'ai du mal à comprendre (moi et l'anglais )

    http://qc.codegear.com/wc/qcmain.aspx?d=1533

  15. #35
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Cette directive c'est pour le compilateur

    " #pragma alias "

  16. #36
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Oui mais je ne sais pas ou je doit la mettre, il me semble que c'est dans le .cpp ou je fait l'appelle a la fonction, mais je ne suis pas sur.

    Et la suite il faut le mettre aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      "@Typinfo@GetPropList$qqrp17Typinfo@TTypeInfo46System@%Set$t17Typinfo@TTypeKind$iuc$0$iuc$17%pp17Typinfo@TPropInfoo"
     
      ="@Typinfo@GetPropList$qqrp17Typinfo@TTypeInfo46System@%Set$t17Typinfo@TTypeKind$iuc$0$iuc$17%pa16380$p17Typinfo@TPropInfoo"

  17. #37
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Apparement voir ce lien
    la directive s'ecrit complete
    #pragma alias "@Typinfo@GetPropList$qqrp17Typinfo@TTypeInfo46System@%Set$t17Typinfo@TTypeKind$iuc$0$iuc$17%pp17Typinfo@TPropInfoo"
    ="@Typinfo@GetPropList$qqrp17Typinfo@TTypeInfo46System@%Set$t17Typinfo@TTypeKind$iuc$0$iuc$17%pa16380$p17Typinfo@TPropInfoo"

    dans le doute tu peut toujours essayer de le mettre dans l'entete du .cpp je pense que le compilateur va s'y retrouver

  18. #38
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    J'ai mis le pragma dans le .cpp de la classe, mais cela ne change rien, je croit qu'il faut aussi mettre les tdump, mais je ne sais pas ou, a chaque fois le compilateur me dit erreur de syntaxe dans la declaration

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tdump -e -m RTL60.bpl RTL60.dmp
    tdump -m GestionLangue.obj GestionLangue.dmp

  19. #39
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    regarde TDUMP dans l'aide BCB, il y a des explications c'est un peut trop hard pour moi

  20. #40
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Bon, j'avais fait quelque recherche il y a quelques temps et le TDump et en fait un .exe qui permet de convertir des .lib en je ne sais trop quoi apparemment, le problème c'est que je ne sais pas quoi faire du fichier résultant de cette conversion pour résoudre mon problème (d'autant plus que je n'ai plus la version 6 actuellement, ce qui limite mes recherche )

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. [xsl]simuler le mecanisme OO de "liaison dynamique"
    Par philemon_siclone dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 19/12/2003, 11h34

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