Código:
'Declaraciones
Dim progress As Boolean
Dim nombre As String
Dim path As String
Dim strIndex As String
Dim strData As String
Dim filesize As Long
Dim Size As Long
Dim arrData() As Byte
Dim localpath As String
private sub upload_Click()
'al darle click al boton upload
cd.Filter = "Todos los archivos |*.*"
cd.ShowOpen
Open cd.FileName For Binary Access Read As #1
Size = LOF(1)
ReDim arrData(Size - 1)
'mete el archivo en la matriz
Get #1, , arrData
Close
nombre = cd.FileTitle
path = pathupload.Text
path = path + nombre
localpath = cd.FileName
filesize = FileLen(localpath)
csocketplus.SendData Index, "upl" & "|" & filesize & "|" & path
Private Sub csocketplus_DataArrival(ByVal Index As Variant, ByVal bytesTotal As Long)
csocketplus.GetData Index, strData
'si los datos que recibe corresponde a la confirmacion del servidor para la recepcion del archivo, lo envia.
If strData = "okupl" Then
'activa la barra de progreso
progress = True
csocketplus.SendData Index, arrData
Private Sub csocketplus_SendProgress(ByVal Index As Variant, ByVal bytesSent As Long, ByVal bytesRemaining As Long)
If progress = True Then
'prog_sub es la barra de progreso
prog_sub.Min = 0
'filesize es el numero de bytes del archivo
prog_sub.Max = filesize
prog_sub.value = prog_sub.value + bytesSent
prog_sub.Value = bytes
'cuando los bytes del archivo corresponden con el valor de la barra de progreso, se restablece y se vuelve la bandera a false
If filesize = prog_sub.value Then
prog_sub.Value = 0
progress = False
End If
End If
End Sub
No se cual es el problema que hace que el código funcione pero que haga que se colapse. Aver si encontramos la solucion. Muchas gracias.