Page 1 of 1

Errores con Tsocket en Windows Vista

PostPosted: Mon Nov 19, 2007 12:18 pm
by Andrés G.
Hola a todos,

Tengo un programa que se conecta a un FTP para cargar y descargar un archivo y para ello uso la clase Tsocket.

Funciona perfectamente en todos los sistemas pero cuando lo pongo en Windows Vista me sale el siguiente error:

You must create a main window in order to use Tsocket object

No se a que puede deberse, lo bueno es que luego hace la descarga del fichero, pero hay que aceptar este error. Si hago una carga al FTP pasa lo mismo, primero el error y luego al aceptar funciona.

A ver si alguien tiene alguna pista de como solucionar éste problema.

Gracias de antemano.

Andrés González

PostPosted: Mon Nov 19, 2007 1:05 pm
by Antonio Linares
Andrés,

Tienes una ventana principal en tu aplicación ?

O la aplicación no usa ninguna ventana ?

PostPosted: Mon Nov 19, 2007 2:45 pm
by Andrés G.
Hola Antonio,

Tengo una ventana principal en la aplicacion. De hecho la funcion la llamo cuando se carga esta:

ACTIVATE WINDOW PRINCIPAL MAXIMIZED VALID SORTIR() ON INIT (BUSCAVER(),PRINCIPAL:UPDATE()) ON PAINT PalBmpDraw(hDC,MFS,MFE,PTC:hBitmap)

y la funcion es la siguiente:

FUNCTION BUSCAVER()

LOCAL VDES,ARCH,L,NOTA,SE
IF INTERNET() .AND. (!FILE(ARREL+"versio") .OR. DIRECTORY("versio")[1][3]<>DATE())
OKSOR=.F.
OKSOR=FetchFile("ftp.hhhhh.hhh","uuuuu","ppppp","programa","versio",,,.F.)
ELSE
OKSOR:=.T.
ENDIF
SE=MEMOREAD("versio")
.....

Lo que hago es descargar un fichero de texto donde me indica la version mas actual y si el programa no esta actualizado propone al usuario que se actualice.

Saludos,

Andrés

PostPosted: Mon Nov 19, 2007 3:11 pm
by Antonio Linares
Andrés,

Para solucionarlo, modifica la clase TSocket. Busca esta línea:

MsgAlert( "You must create a main window in order to use a TSocket object" )

y coméntala

PostPosted: Mon Nov 19, 2007 8:24 pm
by Andrés G.
Gracias Antonio asi lo haré.