[.net c++] utilisation de sizeof

stgi02
[.net c++] utilisation de sizeof

bonjour,
mon problème est que je n'arrive pas à utiliser sizeof je m'explique:
j'utilise WriteFile pour écrire sur le port de communication, je veux récupérer le contenu de la textbox1 pour envoyer les données sur le port:

String* txt = textBox1->get_Text();
//j'appel la fonction membre
this->envoi->Write(...,sizeof (&txt),...,....);

le compilateur n'indique pas d'erreur mais j'envoie n'importe quoi ,à mon avis j'utilise mal sizeof(&txt)
j'ai aussi utiliser txt->Length, mais j'envoie n'importe quoi

je prog sur visual studio .net 2003 en c++
merci bcp de m'aider

fredericmazue

Bonjour,

> String* txt = textBox1->get_Text();

Tu es toujours avec une TextBox .Net. Parce que si oui, get_Text n'existe pas et ça ne doit même pas compiler.
C'est évidement txt = textBox1->Text; // sans parenthèse

Mais là je dois dire que j'ai du mal à comprendre ta logique. Tu nous fais toute une histoire pour utiliser SendMessage pour mettre quelque chose dans la TextBox et tu n'utilises pas SendMessage pour y lire le texte ?? :twisted:
Pourquoi cette contradiction ? :twisted: :twisted:

Enfin, ta démarche maintenant est la bonne, c'est ce qui compte.

> this->envoi->Write(...,sizeof (&txt),...,....);

Le this est complètement inutile ici :lol:

> le compilateur n'indique pas d'erreur mais j'envoie n'importe quoi

C'est exact et même doublement n'importe quoi.

D'abord sizeof(txt) serait faux parce que tu enverrais la taille d'un objet String.
Ensuite avec &, sizeof(&txt) fait que tu envoies la taille d'un pointeur soit la valeur 4. systématiquement.

> j'ai aussi utiliser txt->Length, mais j'envoie n'importe quoi

Ca dépend comment tu l'utilises, ça devrait aller si txt ne contient pas lui même n'importe quoi ce que je subodore, mais c'est un autre problème.

Si tu fait:

Write(textBox1->Text, // text à envoyer
textBox1->Text->Length, .... etc

Ca devrait aller.