LaTatadu91
Messages postés968Date d'inscriptionjeudi 20 mai 2004StatutMembreDernière intervention26 avril 2013
-
16 avril 2007 à 13:38
LaTatadu91
Messages postés968Date d'inscriptionjeudi 20 mai 2004StatutMembreDernière intervention26 avril 2013
-
18 avril 2007 à 09:27
Bonjour,
Voila je debute avec les dialogbox et je precise je suis sous visual 2005 C++.
j'essaye de trouver comment ajouter des lignes dans ma listbox j'ai mis ceci:
CString str;
char**serv = opc->liste_serveur(nb_serv); //nb_serv serveurs a récupérés
for (int i=0; i <nb_serv; i++) //Ajout des serveurs dans la listbox
{
str.Format(_T("item string %d"), i);
m_ctlMessage.AddString(str);
m_ctlMessage.AddString((LPCTSTR)serv[i]);
}
pour le premier ajout --> pas de probleme.
pour le second ajout--> Il mécrit des hyeroglyphes.
je pense que cela vient du type utilisé char** mon tableau qui récupére les noms des serveurs OPC.
j'ai donc essayer un cast mais ca ne passe pas!
mais je en sais aps comment resoudre ca!
merci d'avance pour votre aide!
LaTatadu91
Messages postés968Date d'inscriptionjeudi 20 mai 2004StatutMembreDernière intervention26 avril 20131 16 avril 2007 à 15:02
dans le mme genre tant que jy suis :
CString serveur ;
int nIndex = m_ctlMessage.GetCurSel();
m_ctlMessage.GetText( nIndex,serveur ); //récupération du nom de serveur choisi
// m_ctlMessage.MessageBox(str);
opc->connexion(serveur); //connexion
et la fonction connexion accepte un char*
j'ai essayer un c_str()
mais erreur : impossible de convertir de CString en char*
:s
LaTatadu91
Messages postés968Date d'inscriptionjeudi 20 mai 2004StatutMembreDernière intervention26 avril 20131 16 avril 2007 à 15:13
Pour mon deuxiéme probleme j'ai testé cela:
// TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
CString serveur ;
int nIndex = m_ctlMessage.GetCurSel();
m_ctlMessage.GetText( nIndex,serveur ); //récupération du nom de serveur choisi
// m_ctlMessage.MessageBox(str);
char* str = serveur.GetBuffer(serveur.GetLength());
opc->connexion(str); //connexion
//if(opc->etat()) //si connecté
//{
//EnableOPCNotification(opc->get_serv(),(NOTIFYPROCAPI)OPCUpdateCallback); //active la notification de MAJ des items
//}
serveur.ReleaseBuffer(-1);
mais il me dit :
error C2440: 'initialisation' : impossible de convertir de 'wchar_t *' en 'char *'