begin process at 2012 05 30 15:49:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

retourner un const wxString[] !


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

retourner un const wxString[] !

jeudi 28 juillet 2005 à 16:20:24 | retourner un const wxString[] !

georgeduke

Voilà mon problème :

Pour alimenter les différents éléments qu'un wxCombobox devra afficher, j'ai besoin d'indiquer à ce dernier un wxString[].

Pour tester ce menu déroulant, j'ai définit :
const wxString choix[] = {"bonjour" };

puis je charge le menu déroulant :
cb_mods = new wxComboBox(this, ID_MODS,"" ,wxPoint(140,150), wxSize(200, 10),
     1, choix, wxCB_READONLY, wxDefaultValidator, "listbox")  ;

Et ça fonctionne   Le menu s'alimente bien avec la variable choix que je lui donne en paramètres.
Seulement j'aimerais construire un fonction qui me renvoit un wxString car j'ai pas mal de choses à faire pour alimenter le menu déroulant.

Je pensais que cette fonction pourrait suffire :
const wxString[] choix()
{
       wxString liste[] = {"bonjour!"};
       return liste;
}
Et je pensais charger simplement le menu déroulant comme ça :
cb_mods = new wxComboBox(this, ID_MODS,"" ,wxPoint(140,150), wxSize(200, 10),
     1, choix(), wxCB_READONLY, wxDefaultValidator, "listbox")  ;

Mais vous vous en doutez ça ne marche pas !

Je vous serez vraiment reconnaissant pour votre aide !!!


jeudi 28 juillet 2005 à 16:49:33 | Re : retourner un const wxString[] !

LordBob

Membre Club
et si tu fais tout simplement:

wxString[] choix()
{
       wxString liste[] = {"bonjour!"};
       return liste;
}
Bob...

"La chance accorde ses faveur aux esprits avertis..."
jeudi 28 juillet 2005 à 17:59:17 | Re : retourner un const wxString[] !

georgeduke

Non pas mieux ; on dirait que le compilo n'aime pas les crochets après wxString...

122 C:\prog\Devcpp\Dev-Cpp\sources\g3M\main.h expected unqualified-id before '[' token




jeudi 28 juillet 2005 à 18:31:02 | Re : retourner un const wxString[] !

georgeduke

Un petit coups de pouce pour arriver enfin à retourner ce wxString[] correctement ?


jeudi 28 juillet 2005 à 20:03:26 | Re : retourner un const wxString[] !

LordBob

Membre Club
peut etre comme ceci:
wxString* choix()
{
       wxString liste[] = {"bonjour!"};
       return liste;
}

en remplacent le tableau par un pointeur ?
Bob...

"La chance accorde ses faveur aux esprits avertis..."
jeudi 28 juillet 2005 à 21:15:09 | Re : retourner un const wxString[] !

georgeduke

Ce n'est toujours par la bonne méthode :-(

Ca me dit qu'il n'arrive pas à convertir un wxstring en wxstring* !

C'est bête de buter là-dessus ; quelqu'un a une idée ? ça doit être courant de genre de méthode...

jeudi 28 juillet 2005 à 21:27:18 | Re : retourner un const wxString[] !

bathof

Salut,

Je connais pas cette librairie, mais je pense que dans cette situation si tu retournes un pointeur tu auras des problèmes car la variable "wsString liste" que tu crées dans ta fonction est local pour ta fonction, donc une fois la fonction executée la variable n'existe plus, donc je te conseils de la creer dynamiquement comme cela.

Ex, (c++) :

wxString* choix()
{
 wxString   liste[] = {"Bonjour!"};

 wxString* templiste = new char [ strlen(liste) + 1 ];
 strcpy( templiste, liste );

 return templiste;
}

Attention quand tu récupères ta variable n'oublie pas de l'effacer quand tu ne l'utilises plus.

ex (C++):

int main()
{
 wxString* liste = choix();

delete [] liste; // efface ton tableau
 return 0;
}



jeudi 28 juillet 2005 à 21:31:39 | Re : retourner un const wxString[] !

bathof

Oups,

 une erreur c'est glissé dans mon code c'est pas wxString* templiste = new char [ strlen(liste) + 1 ];  mais wxString* templiste = new wxString [ strlen(liste) + 1 ];

Bonne chance et a +.
jeudi 28 juillet 2005 à 21:37:23 | Re : retourner un const wxString[] !

georgeduke

Je regarde ça ce soir, merci dans tous les cas de m'avoir répondu !!
Je vous tiens au courant car je penses que ça peut peut-être aider d'autres personnes !

vendredi 29 juillet 2005 à 08:01:42 | Re : retourner un const wxString[] !

georgeduke

Ca ne fonctionne toujours pas ! Je vous présente ici les infos du compilo !!

wxString* choix()
{
 wxString   liste[] = {"Bonjour!"};
  wxString* templiste = new wxString [ strlen(liste) + 1 ];  -> cannot convert `wxString*' to `const char*' for argument `1' to `size_t                                                                                             strlen(const char*)'
 
strcpy( templiste, liste ); -> cannot convert `wxString*' to `char*' for argument `1' to `char* strcpy(char*, const char*)'
  return templiste;
}
Une idée ?

1 2

Cette discussion est classée dans : menu, const, déroulant, choix, wxstring


Répondre à ce message

Sujets en rapport avec ce message

Couleur dans un menu en turbo c++ [ par DraaFil ] Bonjours a tous,j'ai developper un programme en turbo c++ qui propose un choix de commande. Je vous explique j'ai un choix entre 1 et 5 options pour e [MFC] Griser menu déroulant [ par Atmaweapon ] J'ai deux questions (dont une qui est 'facultative' a la limite...)Je travaille dans une MFC et ai un menu déroulant (dans le Menu de mon IDR_MAINFRAM Menu déroulant avec un click droit [ par Zaz16 ] Bonjour,Est ce que c'est possible avec VisuaC++ 6.0 de faire apparaitre un menu déroulant avec un click droit? Et comment je dois faire, car je ne l'a Création d'un menu [ par Veseta ] J'aimerai créer un menu sur lequel l'utilisateur se déplacerai avec les touches multudirectionnelles (ou zsqd etc) et pour lequel son choix est montré Icone et barre de menu déroulant... [ par loki1600 ] Bonsoir,Je souhaite dans une appli développée sous Visual C++ 6 ajouter des icônes à coté des textes (Ouvrir, Copier, Coller, etc.) dans les menus dér COMMENT FAIRE UN PETIT MENU EN C [ par geogram22 ] Salut à tous,Commencant à programmer en C g un véritable petit problème pour créer qqch de tous simple pour certains [: p] et que g véritablement bes 0 + 1 = 6 ??? [ par Also know as ] Bonjour, J'ai à nouveau le même genre de poblème. Voici mon nouveau source : /* Exemple simple d'utilisation de l'instruction do-while */ #include [allegro] c++: menu déroulant [ par lord anubis ] Le probleme du jour, le voici, le voilà: Est-il possible, sous allegro, d'integrer un menu déroulant, pour orienter l'utilisateur plus rapidement dans probleme fonction [ par morgandetoi06 ] bonjour j ai essayé de passer cette source:http://www.cppfrance.com/code.aspx?ID=16930en une source qui se sert de fonctions mais j ai quelques proble Menu déroulant et valeur par défaut [ par zero_janvier ] Salut à tousVoilà : sous C++ Builder 5, comment on fait pour définir une valeur par défaut à un menu déroulant ? Et s'il est dynamique ?Merci et salut


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,905 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales