Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : String à travers IntPtr [ Système / Mémoire ] (LUDINSKI)

mercredi 11 avril 2007 à 15:44:33 | String à travers IntPtr

LUDINSKI

Bonjour à tous,

J'utilise PostMessage pour envoyer un message WM_USER à mon application
Tout ça fonctionne très bien, mais je souhaite passer une chaîne de caractères par ce message
( via LParam )

J'ai donc essayé de passer par Marshal.StringToHGlobalAuto( monString );
pour récupérer un pointeur sur ma chaîne
et Marshal.PtrToStringAuto( msg.LParam ); pour le récupérer

Mais je récupère une chaîne vide...
Quelqu'un aurait-il une proposition pour envoyer cette maudite chaîne ?
Merci


mercredi 11 avril 2007 à 16:43:52 | Re : String à travers IntPtr

zebobo5

Membre Club
Salut,
Tu as essayé avec : Marshal.StringToHGlobalUni ?


ZeBobo5
N'oubliez pas de cloturer votre post.

mercredi 11 avril 2007 à 17:51:35 | Re : String à travers IntPtr

LUDINSKI

Salut zebobo5,

Oui, et même Marshal.StringToHGlobalAnsi...
Mais il semblerai que ça soit un problème de sécurité :
Quand je récupère ma chaîne directement après
Marshal.StringToHGlobalAuto( monString );
Je la récupère bien...

Mais quand j'essaye de la récupérer après la réception du message windows (donc dans PreProcessMessage) la chaîne est vide !

Merci quand même ;)

jeudi 12 avril 2007 à 02:57:39 | Re : String à travers IntPtr

Lutinore

Administrateur CodeS-SourceS
Salut, tu es sûr que c'est ton message ? et pourquoi PreProcessMessage et non WndProc ?

jeudi 12 avril 2007 à 11:05:25 | Re : String à travers IntPtr

LUDINSKI

Réponse acceptée !
Salut Lutinore ( tu n'dors jamais? ) ^^,

En effet, je n'ai pas utilisé PreProcessMessage() mais je n'voulais pas entrer dans les détails...
Le message, je l'intercepte grâce à l'interface IMessageFilter, donc par la méthode PreFiltreMessage()... Et cela fonctionne
Mais je vais quand même utiliser ta méthode, je n'la connaissais pas !

Pour mon problême, je l'ai résolu grâce aux Atomes globaux :
- Je crée un atome globale grâce à GlobalAddAtom( monString );
  et je passe l'identifiant de l'atome dans le message windows
- A la réception du message je récupère l'atom grâce à son identifiant :
  GlobalGetAtomName( msg.LParam.ToInt32(), ... );
- Puis je supprime l'atome de la table globale GlobalDeleteAtom();

Je pense que je n'avais pas le droit de lire à l'adresse mémoire allouée par l'application émettrice... Par contre ça ne me générai pas d'erreur !

Bref, problème résolu... Merci quand même




Cette discussion est classé dans : string, envoyer, travers, chaîne, intptr


Répondre à ce message

Sujets en rapport avec ce message

Envoyer un tableau string via les sockets [ par moihenry ] Bonjour, j'ai un tableau du genre : string[] tab = new string[] { "test","test0","test1" }; Comment je dois faire pour l'envoyer par les sockets, pa problème d'accès à un volume distant [ par katwes ] Bonjour,J'essaie de manipuler des fichiers sur un volume distant.Ce dossier est sur un volume NFSMais cela ne fonctionne pas à cause d'un problème de split string sur plus d'un caractère [ par Souliabdo ] Bonjour,   <p class="MsoNormal" st appel d'un fichier php sur serveur depuis C# et recupere les info's. [ par goldziko9 ] Salut tout le monde. je travail sur un projet personnel dont j'ai besoin de sotcker les information dans une base d donner MySQL herbergé dans un se Transformer un string en byte [ par Armiana ] Bonjour à tous,Voila mon problème :J'ai dans un string un nombre de valeur 0, 1, 2 ou 255 et j'aimerais mettre ces valeurs dans un byte pour que cela Méthode pour retourner une string BBCode en List<string> [ par lemmingperceval ] Bonjour, J'aimerai créer une méthode pour me retourner un List en fonction d'une string contenant des Tags par exemple : [b]...[/b], [i]...[/i], etc Comment récupérer le nom d'une propriété dans un attribut [ par April_Seb4 ] Bonjour tout le mondeJe m'explique, j'ai crée un attribut LocalizedNameAttribute qui permet de traduire les propriétés d'un controle</fon Utilisation du HashSet [ par olibara ] BonjourJe vais essayer de me familiariser avec le HashSet mais je ne sais pas encore vraiment comment aborder le truc et si finalement il ne vaut pas Piece jointe avec Mailto: [ par olibara ] Bonjour,Je suis tombé par hazard sur la syntaxe bien pratique du mailto, par contre aucune explication trouvable sur les différents parametres possibl


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 1,217 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.