TIMER

04/09/2003 - 20:09 por Manuel | Informe spam
Hola grupo, estoy haciendo un cliente FTP en asembler...
(si me dais la solucion en C, tambien me vale)
Tengo el siguiente problema.

mov eax,offset TimerProc
invoke SetTimer,0,0,3000,eax
mov trf.idTimer,eax

La funcion TimerProc:

TimerProc proc hwnd,mensaje,idEvent,dwTime
INVOKE MessageBox,
xor eax,eax
ret
TimerProc endp

Bien aqui me sale el MessageBox cada 3 Sg

ahora si envio un archivo, el MessageBox deja de
aparecer hasta que acaba la transferencia.

y yo quiero que siga apareciendo mientras se transfiere
el archivo.

Alguna idea...?

Gracias por adelantado.

Saludos

Preguntas similare

Leer las respuestas

#1 Gabriel Gibaut
05/09/2003 - 04:53 | Informe spam
Manuel:

Lo que ocurre es que el timer no funciona como una solicitud de interrupción
que pausa el programa cada 3 segundos ejecuta una rutina de servicio
(TimerProc) y devuelve el control a lo que se estaba ejecutando (la
transferencia).

Si lo que deseas es mantener la interfaz de usuario activa te sugeriría que
separes las actividades y realices el proceso del timer y demás en el thread
principal de tu programa y las transferencias en threads aparte.

En http://support.jgaa.com/index.php?M...e=download tenés el código
fuente del WarFtp Daemon aunque la ultima vez que lo bajé incluía el código
del WarFtpClient.

Fijate también porque el código fuente del ws_ftp original es open source
así que anda dando vueltas por ahí. Aunque es de la época de Win16.

Saludos

Gabriel


"Manuel" wrote in message
news:197b01c3730f$a4f8fa70$
Mostrar la cita
#2 Manuel
05/09/2003 - 16:18 | Informe spam
Mostrar la cita
activa te sugeriría que
Mostrar la cita
demás en el thread
Mostrar la cita
aparte.
Mostrar la cita
Esto ya lo hice, pero da problemas.
Al enviar el archivo el servidor responde con error al
abrir puerto xxxx. (open data connection error).




Mostrar la cita
tenés el código
Mostrar la cita
incluía el código
Mostrar la cita
Estoy mirando el WarFtp, pero de momento no veo la
solucion...

gracias por tu interes.
Saludos
#3 me asustas !!!
06/09/2003 - 02:51 | Informe spam
sabes que cuando me pasan esas cosas misteriosas en C++
es cuando algun puntero esta mal en algun lado, y puede
ser en cualquier parte del codigo ?
te recomiendo que revises el tamaño de los buffer q usas,
si algun buffer tiene menor capacidad que la que
necesitas, podras tener una corrupcion de espacio
inesperado, y esa podria ser la causa de tu problema,
revisa el espacio de tus buffers,
Ads by Google
Search Busqueda sugerida