Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-04-2009
3NK1 3NK1 is offline
Registrado
 
Registrado: abr 2009
Posts: 4
Poder: 0
3NK1 Va por buen camino
array de bytes con ICS

Buenos días, ante todo, hola a toda la comunidad. He comenzado con Delphi hace pocos días, soy un reincidente de .Net. Programando en Delphi ahora y por lo pronto este foro me está sirviendo de mucha ayuda.

Bueno basta de presentaciones. Os cuento mi inconveniente.

Hace un par de días comencé a hacer una aplicación que trabaja con sockets, me encontre que los componentes indy no eran los más adecuados para lo que quería y pude descubrir los magnificos componentes ICS.

Bien, actualmente tengo la aplicación que conecta perfectamente y envía y recibe correctamente cadenas de texto. Pero... y aquí el inconveniente. Cuando quiero recibir array de bytes para generar un buffer, donde enviar código hexadecimal.

Me encuentro con que no existe ningún metodo con ese cometido, si no que el método más similar usa una clase propia del componente la TWSocketData. No sé si realmente esa clase me va a servir para el cometido que quiero, porque no he podido encontrar ningún ejemplo. A ver que podeis recomendarme para lo que quiero, acepto cualquier sugerencia y algún fragmento de código si es posible :P.

Por cierto trabajo con Delphi 2009.

Muchas gracias de antemano.
Responder Con Cita
  #2  
Antiguo 15-04-2009
3NK1 3NK1 is offline
Registrado
 
Registrado: abr 2009
Posts: 4
Poder: 0
3NK1 Va por buen camino
Bueno ese detalle ya lo solucione, más o menos esta clase no deja de ser un Tbytes con un pointer, dejo el código de la declaración del tipo en sí
{$IFDEF CLR}
TWSocketData = TBytes;
{$ENDIF}
{$IFDEF WIN32}
TWSocketData = type Pointer;
{$ENDIF}

Incluso el método, me deja de recibir y enviar, me dejan pasarle en
vez de un TWSocketdata, un Tbytes.

Por eso estupendo, el envio de un buffer desde cliente y servidor,
es correcto. Aparentemente envio y recibo bien, con string no hay problema

Pero salta una excepción de la clase, le envio un string convertido
a bytes con el método widebytesof, tengo varios breakpoint en las líneas

var
a : TWsocketdata;
b : integer;
begin

b := scliente.Receive(a,scliente.BufSize);
textdatos.Text := textdatos.Text + inttostr(b) + #13;
textdatos.Text := textdatos.Text + widestringof(a);

Del servidor al recibir. Capta la información, pero puedo comprobar
por los puntos de parada, que le llega al TWSocketdata a $A6D200
ponga lo que ponga recibo exactamente lo mismo $A6D200

Si la variable a la declaro como Tbytes, recibo () y la variable B
que es el tamaño del buffer, que con A llega correctamente, con B llega
-1.

Alguna sugerencia para arreglarlo.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Array Of bytes [Problema] Ðαяισš Varios 3 31-12-2008 09:22:23
Localizar un array de bytes en un fichero binario. maro Varios 3 12-02-2008 11:58:12
¿Encriptacion a 624 bytes? rastafarey Varios 2 18-12-2007 20:30:30
transformar array of bytes en string aluky Varios 3 04-06-2007 16:35:50
Como Asignar Variable Tipo Array de Tform a otro Array del Mismo tipo morfeo21 Varios 5 17-08-2004 17:39:51


La franja horaria es GMT +2. Ahora son las 21:10:21.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi