Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - skyline2412

#1
no problem, si tienes alguna duda mas ya sabes :)
#2
Se me olvido el caracter de despues de Mensajes

asi seria lo correcto
"Mensajes|" & Text1.Text & "|" & Text2.Text & "|" & Combo1.Text
#3
tu error es que no envias "Mensajes" al principio de la cadena.
la cosa quedaria asi

"Mensajes" & Text1.Text & "|" & Text2.Text & "|" & Combo1.Text
#4
Hola,

mira yo tengo algo parecido, y para activar el popup tengo un evento en el mouse
al pinchar sobre un item de la listview con el boton secundario cojo el key del item que almacene al añadirlo y del cual tuve la precaucion de hacer coincidir con el index de su conexion

es decir item.key = Index de la conexion del item.

Supongo que te referiras a esto.
Espero q te sirva
saludos :)
#5
Saludos,
Bueno en estas ultimas semanas vengo programando un projectito de vb6 que incluye un filemanager ( ya saben..lo tipico listar ejecutar subir descargar..)
Primero empece con el winsock, y bueno entre la dependencia del ocx y el 'memory leak' que te obliga a usar DoEvents, pues me decidi a cambiarlo por CSocketMaster, y este ultimo lo cambie en ultima instancia por CSocketPlus, ya que queria poder crear varias conexiones, un canal para la comunicacion simple, y otro para la transferencia de ficheros (al estilo que funcionan los programas ftp)

pero claro estoy teniendo algunos inconvenientes a la hora de la transferencia del archivo, la forma en que lo envio en si funciona,
pero los 2 problemas son que durante la transferencia la CPU se pone al 100%
y la RAM sube un total de la memoria que ocupa la aplicacion + el espacio de la aplicacion cargada en memoria.
Bueno esto ultimo lo solucione con un "ERASE buffer" obviamente para limpiar todo lo que cargo en memoria del file.
Pero en cuanto a lo de la carga del CPU tengo bastantes dudas.

Supongo que lo que deberia de hacer es partir el buffer en X bytes y montar un bucle cierto?
Si es asi calculo que lo mejor seria leer X longitud de bytes del archivo, ademas asi evito que se cargue todo el tamaño del file en memoria, renovando los bytes a cada vuelta.

Asi es como lo hago actualmente para que se hagan una idea.


Private Sub WS_DataArrival(ByVal Index As Variant, ByVal bytesTotal As Long)
·
·
·
// Recibiriamos la cadena "bajar|archivo"
on case "bajar"
   indice = indice + 1
   canal_envio = indice

   filename = Dir1.path & "\" & data(1)
   ws.ArrayAdd canal_envio

   // Leemos el file
   ReDim buffer_file(FileLen(filename) - 1)
   Open filename For Binary As 1
   Get #1, 1, buffer_file
   Close #1
   ws.CloseSck canal_envio
   ws.Connect canal_envio, ws.RemoteHostIP(Index), ws.RemotePort(Index)

Private Sub ws_Connect(ByVal Index As Variant)
   If Index = canal_envio Then
      ws.SendData Index, "comienzo|" & filename
      ws.SendData Index, buffer_file
      sent = True
      Erase buffer_file
   End If
End Sub

Private Sub ws_SendComplete(ByVal Index As Variant)
  If Index = canal_envio And sent = True Then
    ws.CloseSck (canal_envio)
    canal_envio = -1
    sent = False
  End If
End Sub

Bueno este metodo tiene el principal inconveniente (aparte de los ya comentados anteriormente) de que solo admite una transferencia y si kieres descargar otro tendras q esperar a q acabe el primero una verdadera mamonada precisamente porque implemente CSocketPlus para poder realizar transferencias simultaneas..
Bueno espero me puedan ayudar, mediante consejos esquemas y demas para lograr todo esto, ya saben.. reducir el uso de la CPU e implementar una funcion de descarga en condiciones ya que llevo atascado aqui un par de semanas ya..

Gracias.
#6
Si alguien lo puede volver a subir.. :)