• Viernes 15 de Noviembre de 2024, 11:14

Autor Tema:  Tipos Definidos Por El Usuario  (Leído 1199 veces)

tiquinho

  • Miembro activo
  • **
  • Mensajes: 96
    • Ver Perfil
Tipos Definidos Por El Usuario
« en: Miércoles 21 de Abril de 2004, 12:33 »
0
Necesito comunicar dos programas propios para que se envíen una matriz en un sentido y otra distinta(pero del mismo tipo y tamaño) en el otro sentido.
 
  He escogido el winsock para conectarlos, pero no me permite enviar una variable de tipo definido por mi (me dice que no se las puedo pasar a una función definida en una clase, o algo así).
 
  ¿Alguien conoce alguna forma de solucionar esto? Tenía pensado que igual debería cambiar el tipo de la matriz para convertirla en una matriz d strings, pero tendría que tirar la mayoría del código que tengo echo, y la verdad, no me gustaría tener q hacerlo <_< .

La he definido en un modulo .bas y el tipo de la matriz es:

Public Type Variable
    Nombre As String
    Valor As Long
    Canal As Integer
    Bit As Integer
End Type

:gracias:

tiquinho

  • Miembro activo
  • **
  • Mensajes: 96
    • Ver Perfil
Re: Tipos Definidos Por El Usuario
« Respuesta #1 en: Jueves 22 de Abril de 2004, 13:27 »
0
Me voy a contestar a mi mismo, que me vino la inspiración  :smartass:

Pues envía una cadena de texto que contenga toda la matriz, con cada elemento separado por un caracter improbable, y cada campo de cada elemento separado por otro caracter distinto tb improbable, y para no cambiar todo el código que tenía hecho, a la hora de enviar y recibir programo una función para cada evento y transformo la matriz en cadena para enviar y transformo la cadena recibida en matriz para trabajar con ella  :jumpie:

La verdad es que no era tan dificil, pero es lo que tiene la inexperiencia

 :hola:


por cierto, para separar y juntar utilizo las funciones d VB Split y Join q manejan cadenas(si las hubiese descubierto antes...)

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Tipos Definidos Por El Usuario
« Respuesta #2 en: Jueves 22 de Abril de 2004, 15:00 »
0
Hola Tiquinho.

Felicidades por encontrar la solución.

Supongo que el error que obtenías era algo así como que no se pueden utilizar variables de tipos definidos por el usuario como parámetros o valores de retorno para métodos o funciones que NO forman parte de un módulo de clase PÚBLICO.

Efectivamente, tendrías que utilizar una clase pública de un componente activeX.

Suerte.

tiquinho

  • Miembro activo
  • **
  • Mensajes: 96
    • Ver Perfil
Re: Tipos Definidos Por El Usuario
« Respuesta #3 en: Jueves 22 de Abril de 2004, 16:42 »
0
Si te he entendido bien, otra solución a mi problema sería tener las matrices con las que trabajo(con mi tipo Variable) declaradas en un componentes activeX(por ejemplo una Dll)?  :blink:  y así podría enviarlas??

O es que el problema está en el Winsock(que por lo que parece, no es una clase pública)??  

Si el problema es este,¿habría alguna manera de copiar mi matriz en un Variant para que me permitiera pasarlo?  
Me refiero a si habría alguna manera más eficaz de pasarlo que transformandolo en cadena.

Muchas gracias por contestar! :gracias:

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Tipos Definidos Por El Usuario
« Respuesta #4 en: Jueves 22 de Abril de 2004, 16:58 »
0
Hola.

Me parece que hubo en malentendido: entendí que tenías un error al pasar un parámetro a una función definida por ti, y no al sockect directamente, al que le tendrás que pasar una corriente de bytes...

Chao.