8O Dur Dur l'orthographe tard le soir. :cry:
Je l'avais bien dit que cette API ne sentait pas bon du tout. :aie::aie::aie:
;)
Type: Messages; Utilisateur: bacelar
8O Dur Dur l'orthographe tard le soir. :cry:
Je l'avais bien dit que cette API ne sentait pas bon du tout. :aie::aie::aie:
;)
Size est égale à combien ?
Oui, je n'est aucune confiance dans "GetMacAddress()". :aie:
Il vous manquerait pas un "size+1" à la place de "size" ? :aie:
Bingo. 8-)
MSDN indique qu'il faut fournir un pointeur sur un tableau de caractères Unicode
http://msdn.microsoft.com/en-us/library/6y4za026.aspx
Or, votre dump mémoire montre une chaîne de...
Merci Loïc pour cette réponse concise.
Mais je crois que justement, si la chaîne est foireuse, c'est le "c_str()" qui plantera.
Avec le nouveau code, je pense que "marshal_as<String^>" plantera...
Avez-vous vérifié dans votre cas, que vous n'étiez pas dans la situation décrite par la troisième phrase de la section "Notes" de la documentation MSDN du constructeur d'une System::String ?
...
AccessViolationException ne vient pas du code managé mais du code natif, qui ne change pas avec C++/CLI.
Utilisez les techniques de débuggages standards, C++/CLI ne change pas la manière de faire....
Le DEBUG montre que vous faites des bêtises mais vous lui clouez le bec.
Ne vous étonnez pas si la machine se venge. :aie:
Vous tripatouillez au mauvais endroit en mémoire, vérifiez votre code.
Moi, je préfère aller à la source.
Dans le débuggeur de VS (menu Debug de VS), il y a des vues "memory".
Sélectionnez en une et mettez l'adresse retournée par "pBgdi.GetIpAddress().c_str()"....
Vous êtes sûr que "pBgdi.GetIpAddress().c_str()" contient un caractère fin de chaîne correcte ?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.