| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Carlos J. Fernandez Master


Registrado: 27 Oct 2004Mensajes: 574
|
Publicado: Jue 09 Dic, 2004 4:59 pm Asunto: Como paso un TStream* a un AnsiString |
|
|
Imagino que es sencillo pero no me sale.
Tengo lo siguiente.
// *************************************
void __fastcall TfrmServer::IdUDPServer1UDPRead(TObject *Sender,
TStream *AData, TIdSocketHandle *ABinding)
{
AnsiString *Datos;
AData->ReadBuffer(Datos, AData->Size);
}
// *************************************
Los datos que recibo estan en *AData si no estoy confundido y lo que quiero es pasarlo a un AnsiString.
El problema es que Datos tiene que ser un puntero a AData y yo quiero que sea un simple AnsiString para manejar los datos y me estoy volviendo loco, seguro que es una chorrada pero me estoy liando.
Sabeis como solucionarlo?
Gracias de antemano.
Un abrazo
Carlos |
|
| Volver arriba |
|
 |
LordNemesis Master


Registrado: 31 Dic 2003Mensajes: 340Ubicación: México
|
Publicado: Jue 09 Dic, 2004 6:08 pm Asunto: |
|
|
Intenta poner algo asi...
| Código: |
// *************************************
void __fastcall TfrmServer::IdUDPServer1UDPRead(TObject *Sender,
TStream *AData, TIdSocketHandle *ABinding)
{
char *cDatos = new char[AData->Size+1];
AnsiString Datos;
AData->ReadBuffer(cDatos, AData->Size);
Datos = AnsiString(cDatos);
delete cDatos;
}
// *************************************
|
No lo he probado, pero me imagno que debe de funcionar....  _________________ Dirección Municipal de Informática
H. Ayuntamiento de Tijuana
Arriba Lopez Obrador !!!
Los Mexicanos Merecemos Respeto !!! |
|
| Volver arriba |
|
 |
Carlos J. Fernandez Master


Registrado: 27 Oct 2004Mensajes: 574
|
Publicado: Jue 09 Dic, 2004 6:15 pm Asunto: |
|
|
Perfecto.
Muchas gracias, asi funciona perfectamente, me estaba volviendo loco por que siempre me daba un error.
Te debo una
Un abrazo.
Carlos |
|
| Volver arriba |
|
 |
|