konvertieren?
-
Hallo...
Wenn man bei meinem prog auf "Senden" klickt, sollte es eine net send nachricht verschicken...
kann mir jemand sagen wieso das net funzt ?
unsigned short *servername = L"127.0.0.1"; unsigned short *title = L"Hiho"; unsigned short *from = L"Anonymous"; unsigned char *msg = "MeineNachricht"; unsigned long msgsize= sizeof(msg); NetMessageBufferSend(servername, title, from, msg, msgsize);Fehlermeldung :
char [15]' kann nicht in 'unsigned char *' konvertiert werden
Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder FunktionsformatMuss ich msg irgendwie konvertieren? Ich werd aus der Fehlermeldung net schlau

in der definition von NetMessageBufferSend haben genau diese Datentypen gestanden die ich auch verwende ...
_Rainer__
-
So hab ich es mal gelöst. Versuch einfach ob es funktioniert.
void CNetMessageBufferSendDlg::OnSenden() { UpdateData(); NET_API_STATUS nasRc=0; CString m_sTarget, m_sNick, m_sMsg; m_sTarget="Hallo"; m_sNick = "Jens"; m_sMsg = "Hallo"; const int MAXLEN = 256; wchar_t name[MAXLEN], from[MAXLEN], msg[MAXLEN]; mbstowcs( name, m_sTarget.GetBuffer(0), MAXLEN ); name[MAXLEN - 1] = L'\0'; mbstowcs( from, m_sNick.GetBuffer(0), MAXLEN ); from[MAXLEN - 1] = L'\0'; mbstowcs( msg, m_sMsg.GetBuffer(0), MAXLEN ); msg[MAXLEN - 1] = L'\0'; nasRc = NetMessageBufferSend( NULL, name, from, (BYTE *) &msg[0], wcslen( msg ) * 2 ); switch(nasRc) { case ERROR_ACCESS_DENIED: AfxMessageBox("You do not have access to the requested function.",MB_OK | MB_ICONSTOP); break; case ERROR_INVALID_PARAMETER: AfxMessageBox("One of the passed parameters is invalid.",MB_OK | MB_ICONSTOP); break; case ERROR_NOT_SUPPORTED: AfxMessageBox("This network request is not supported.",MB_OK | MB_ICONSTOP); break; case NERR_NameNotFound: AfxMessageBox("The user name could not be found or is not logged in.",MB_OK | MB_ICONSTOP); break; case NERR_NetworkError: AfxMessageBox("A general failure occurred in the network hardware.",MB_OK | MB_ICONSTOP); break; case NERR_Success: AfxMessageBox("Message successfully sent!",MB_OK); break; default: AfxMessageBox("Unknown error",MB_OK); } }Devil
-
THX!!!
Es funzt prima!

-
Hi,
Was muss ich denn noch includieren ??
Thx
-
Versuchs mal mit lmmsg.h und netapi32.lib als Library.
Grüße Rapha
-
Seltsam,
bei mir meckert er immer die NET_API_FUNCTION an !
Was mache ich denn falsch ?
-
Wie meckert er denn?
Was kommt für eine Fehlermeldung?
-
Z.B.
error C2501: 'NET_API_STATUS' : Fehlende Speicherklasse oder Typbezeichner
error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'NET_API_FUNCTION
-
Bei mir hab ich die lm.h eingebunden.
Devil