[C++ Builder] Utilisation de l'API NetMessageBufferSend

Utilisation de l'API NetMessageBufferSend [C++ Builder] - Programmation

Marsh Posté le 12-03-2002 à 16:46:15    

Ya un piti bout de temps j'avais posé un message sur l'utilisation de cet API, mais po de vraie réponse :-(((
 
J'ai des pb au niveau du corps du message à envoyer (pour l'expéditeur et le destinataire c'est à moitié bon)
 
@++ :hello:


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
Reply

Marsh Posté le 12-03-2002 à 16:46:15   

Reply

Marsh Posté le 12-03-2002 à 17:26:26    

mais pourquoi on me réponds jamais ??? c'est pas compliqué pourtant (enfin juste pour moi  :D )
 
 :bounce:  
 
VB :gun:


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
Reply

Marsh Posté le 12-03-2002 à 22:13:24    

bon alors voila a quoi ressemblais ce que j'avais fait:
 
 
NET_API_STATUS nasStatus;
      wchar_t *toname   = StringToOleStr("le nom de la machine sur laquelle envoyer le message" );
      wchar_t *mbuf     = StringToOleStr("le message a envoyer" );
 
     nasStatus = NetMessageBufferSend(NULL,toname,NULL,(LPBYTE)mbuf,wcslen(mbuf)*2);
 
      if (nasStatus == NERR_Success)
        MessageBox(NULL,"Message bien envoyé","Message",MB_OK);
      else if (nasStatus == ERROR_ACCESS_DENIED)
        MessageBox(NULL,"L'utilisateur n'a pas les droits","Message",MB_OK);
      else if (nasStatus == ERROR_INVALID_PARAMETER)
        MessageBox(NULL, "Un paramètre est invalide","Message",MB_OK);
      else if (nasStatus == ERROR_NOT_SUPPORTED)
        MessageBox(NULL,"pas supporté","Message",MB_OK);
      else if (nasStatus == NERR_NameNotFound)
        MessageBox(NULL,"Nom non trouvé...","Message",MB_OK);
      else if (nasStatus == NERR_NetworkError)
        MessageBox(NULL,"Erreur réseaux...","Message",MB_OK);

Reply

Marsh Posté le 13-03-2002 à 08:24:13    

j'essaye tout de suite !!!
 :hello:  :hello:  :hello:


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
Reply

Marsh Posté le 13-03-2002 à 08:47:39    

juju_le_barbare a écrit a écrit :

j'essaye tout de suite !!!
 :hello:  :hello:  :hello:  




voici le code modifié :
 
LPCWSTR toname = L"6108_G"; //équivalent à : wchar_t expe[] = L"6108_G";
LPCWSTR mbuf = L"message";
 
ensuite le reste est pareil ...
 
merci !!! :hello:  
 
j'avoue utiliser sans comprendre, et j'aime pas :cry: :cry: :cry: :cry:
 
c'est quoi (LPBYTE)mbuf ???

 

[jfdsdjhfuetppo]--Message édité par juju_le_barbare--[/jfdsdjhfuetppo]


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
Reply

Marsh Posté le 13-03-2002 à 09:00:47    

Glopman, encore un piti pb :D
 
Comment l'utilisateur peut-il configurer le message et le destinataire ???
Par exemple je créé une Edit (Edit1->Text est son contenu, de type AnsiString), et le destinataire est le contenu de cet Edit...
 
DO you know how to do ? :hello:


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
Reply

Marsh Posté le 13-03-2002 à 19:24:58    

voila voila
 
wchar_t *toname   = StringToOleStr(EditDest->Text);
wchar_t *mbuf     = StringToOleStr(EditMess->Text);
 
si tu as besoin d'autre chose...


---------------
Chaos is found in greatest abundance wherever order is being sought. It always defeats order, because it is better organized.
Reply

Marsh Posté le 13-03-2002 à 19:44:50    

Glopman a écrit a écrit :

voila voila
 
wchar_t *toname   = StringToOleStr(EditDest->Text);
wchar_t *mbuf     = StringToOleStr(EditMess->Text);
 
si tu as besoin d'autre chose...  




 
la fonction prend quoi en paramètre ? si elle attent un char * il doit faire EditDest->Text.c_str()


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 13-03-2002 à 19:49:54    

ben en fait elle veut une chaine de char au format Unicode...
 
ce que fait le StringToOleStr()
 
en tout cas c'est ce que j'avais fait et ça marchait tres bien...


---------------
Chaos is found in greatest abundance wherever order is being sought. It always defeats order, because it is better organized.
Reply

Marsh Posté le 13-03-2002 à 20:03:48    

non je voulais dire stringtoole demande quoi comme paramètre ?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 13-03-2002 à 20:03:48   

Reply

Marsh Posté le 13-03-2002 à 20:07:22    

ah pardon je suis trop con...
 
StringToOleStr demande un AnsiString et renvoie un wchar_t *


---------------
Chaos is found in greatest abundance wherever order is being sought. It always defeats order, because it is better organized.
Reply

Marsh Posté le 13-03-2002 à 21:06:30    

ok
je connaissais pas la fonction
(et j'ai pas l'aide de Builder sous la main, faut vraiment que je le réinstalle)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 14-03-2002 à 09:33:38    

Glopman a écrit a écrit :

voila voila
 
wchar_t *toname   = StringToOleStr(EditDest->Text);
wchar_t *mbuf     = StringToOleStr(EditMess->Text);
 
si tu as besoin d'autre chose...  




 
la fonction StringToOleStr(); est inconnue, par contre c'est sûrement StrToOleStr();
 
en tout cas merci à vous 2.
Comme vous avez pu constater, vous savez comment faire, et pas moi. Or ça ne vous est pas tombé du ciel. J'imagine que vous avez cherché dans l'aide...
Or moi j'ai pas trouvé...
 
J'aimerais donc que vous me donniez des astuces pour bien trouver ce que l'on cherche ! SVP !!!
 
Encore merci
 
:hello:

 

[jfdsdjhfuetppo]--Message édité par juju_le_barbare--[/jfdsdjhfuetppo]


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
Reply

Marsh Posté le 14-03-2002 à 20:14:40    

Reply

Marsh Posté le 14-03-2002 à 23:22:59    

a mais non là!
protestation!
 
c bien StringToOleStr() chez moi...
je te donne les includes que j'avais utilise (me souviens plus qui fait quoi la dedans moi...)
 
#include <LMCONS.H>
#include <lmerr.h>
#include <lmmsg.h>


---------------
Chaos is found in greatest abundance wherever order is being sought. It always defeats order, because it is better organized.
Reply

Marsh Posté le 15-03-2002 à 09:39:45    

je confirme, dans C++Builder 4 (j'ai que ça sous la main) j'ai la fonction StringToOleStr() dans l'aide:
 

Citation :

Allocates memory and copies an AnsiString to the OLE format.
 
Unit
 
System
 
Category
 
COM utilities
 
extern PACKAGE wchar_t * __fastcall StringToOleStr(const AnsiString Source);
 
Description
 
StringToOleStr allocates memory and copies string data from a native AnsiString into a format that can be passed to OLE functions.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 15-03-2002 à 12:16:55    

oui oui c'est bon !!!
 
je mettais cette fonction, mais ça marchait pas, puis d'un coup ça a marché !!!
sans raison !!!
 
Je sais google est mon ami :D


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed