Bonjour,
mon problème n'est pas forcement très compliqué, mais je galère dessus depuis ce matin
j'ai une fonction qui prend en paramètre un LPCOLESTR
ce LPCOLESTR il faut qu'il est la gueule suivant :
Code :
- "mc_rtp://192.168.1.125:1234?nic=192.168.1.125&transport=RtpAvp&streamtype=MP2T"
|
je voudrais que les adresses en port soit modifiable.
Donc on crée un char *, on fait un sprintf correct, et on utilise les fonction de conversion ATL (normalement)
Code :
- int N = 83; // nombre maw de caractere de la chaine
- char *cible = ( char*)malloc(N*sizeof(char));
- sprintf(cible,"mc_rtp://%s:%i?nic=%s&transport=RtpAvp&streamtype=MP2T", m_cIPEntree, m_iPortEntree, m_cIPEntree);
- USES_CONVERSION;
- LPCOLESTR cibleLoad = A2COLE(cible);
|
sauf que ça m'envoie allègrement chier un peu plus loin (en fait c'est pour l'initialisation d'un filtre directShow, et quand j'essaye de l'utiliser, ça plante acces read memory machin, et avec la chaine de caractère en dur, ça marche)
Au passage, si je met un point d'arrêt avant la fonction qui merde, et que j'essaye de voir ce qu'il y a dans cibleload, ça fait comme si la variable n'était pas initialisée. Donc je me doute que ça vient de la dernière ligne du code, mais je trouve pas de doc sur "comment créer un LPCOLESTR"
Je suis preneur d'une autre méthode aussi, je crois qu'il y a moyen avec les CString, mais si je pouvais éviter d'utiliser les MFC ça m'arrangerait
merci
---------------
ras