Forums Últimos mensajes - Powered by IBM
 

Podre mejorar esta aplicacion con VB .NET?

03/02/2005 - 23:17 por Davo | Informe spam
Que tal Amigos.
Estoy documentandome y aprendiendo poco a poco VB .NET para poder migrar mis
aplicaciones, tengo una aplicacion en VB6, la mas pequeña en lineas de
codigo, pero a la vez la mas compleja. Lo que me interesa es saber si es
factible hacer la migración y si puedo mejorar todo el programa.

Mi aplicacion se llama Sender, se encarga de agarrar archivos ubicados en un
OutBox y enviarlos por medio de linea conmutada a un servidor destino, de la
misma forma sirve para traer archivos de los servidores remotos.

Esta implementado para trabajar con varios modems a la vez, lo usamos con
dos o tres, para ello cambie el proyecto a Activex EXE para levantar varias
instancias de la aplicacion y poder conectar a diferentes modems sin pegar la
aplicacion.

Ahora les explico la parte tecnica: uso varios APIs, tengo un modulos con
APIs y funciones que manejan la comunicacion FTP y otro que maneja la
conexiones de acceso telefonico para hacer el llamado al servidor remoto por
medio de RAS.

Ejemplo APIs FTP:
- Function InternetOpen Lib "wininet.dll"
- Function InternetConnect Lib "wininet.dll"
- Function FtpPutFile Lib "wininet.dll"
Ejemplos APIs RAS:
- Function RasDial Lib "rasapi32.dll"
- RasHangUp Lib "rasapi32.dll"
- Function RasGetEntryProperties Lib "rasapi32.dll"

Como les dije uso un Activex EXE para que puedan trabajar varios modems a la
vez

Set objSender = CreateObject("Sender.clsSender")

Y para saber que estan haciendo las nuevas instancias creadas que se
encargan de conectarse por modem, uso un manejador de eventos que es el
puente entre la aplicacio padre y la aplicacion hija

Set objSender.EventsHandler = EventsHandler

Tambien guardo un indice para poder identificarlas y luego hago un callbak,
para que se llame a si misma y cree una instancia hija que es la que se
encarga de conectarse al modem

objSender.Index = nContIndex
objSender.CallBack

Y guardo las aplicacion hijas en una coleccion

objSenders.Add objSender, CStr(nContIndex)

OK. a este punto espero que entiendan mas o menos que hace y como lo hace la
aplicacion, ahora las preguntas del millon.

1. Existe en .NET alguna forma mejor de manejar la comunicacion FTP y RAS
que no sea por APIs?

2. Como podria manejar subprocesos aislados en .NET para implementar el uso
de varios modem? algunas referencias?

3. Saben de algun artículo, sitio web, codigo de ejemplo donde pueda leer
sobre estos temas?

MUCHAS GRACIAS POR SU TIEMPO. Atte. Davo.
 

Leer las respuestas

#1 Cecilio
04/02/2005 - 13:13 | Informe spam
Hola Davo.

Mi consejo personal es que si la aplicación es estable y tiene un
rendimiento aceptable, no intentes pasarla a VB.Net, si vas a crear
aplicaciones nuevas si que te recomiendo que las hagas en .Net.
Respecto a manejar varios procesos, la respuesta es si, .Net maneja bastante
bien el Multithreading, creo que puedes encontrar ejemplos en
www.planetsourcecode.com o en www.codeproject.com.

Un Saludo


"Davo" escribió en el mensaje
news:
Que tal Amigos.
Estoy documentandome y aprendiendo poco a poco VB .NET para poder migrar
mis
aplicaciones, tengo una aplicacion en VB6, la mas pequeña en lineas de
codigo, pero a la vez la mas compleja. Lo que me interesa es saber si es
factible hacer la migración y si puedo mejorar todo el programa.

Mi aplicacion se llama Sender, se encarga de agarrar archivos ubicados en
un
OutBox y enviarlos por medio de linea conmutada a un servidor destino, de
la
misma forma sirve para traer archivos de los servidores remotos.

Esta implementado para trabajar con varios modems a la vez, lo usamos con
dos o tres, para ello cambie el proyecto a Activex EXE para levantar
varias
instancias de la aplicacion y poder conectar a diferentes modems sin pegar
la
aplicacion.

Ahora les explico la parte tecnica: uso varios APIs, tengo un modulos con
APIs y funciones que manejan la comunicacion FTP y otro que maneja la
conexiones de acceso telefonico para hacer el llamado al servidor remoto
por
medio de RAS.

Ejemplo APIs FTP:
- Function InternetOpen Lib "wininet.dll"
- Function InternetConnect Lib "wininet.dll"
- Function FtpPutFile Lib "wininet.dll"
Ejemplos APIs RAS:
- Function RasDial Lib "rasapi32.dll"
- RasHangUp Lib "rasapi32.dll"
- Function RasGetEntryProperties Lib "rasapi32.dll"

Como les dije uso un Activex EXE para que puedan trabajar varios modems a
la
vez

Set objSender = CreateObject("Sender.clsSender")

Y para saber que estan haciendo las nuevas instancias creadas que se
encargan de conectarse por modem, uso un manejador de eventos que es el
puente entre la aplicacio padre y la aplicacion hija

Set objSender.EventsHandler = EventsHandler

Tambien guardo un indice para poder identificarlas y luego hago un
callbak,
para que se llame a si misma y cree una instancia hija que es la que se
encarga de conectarse al modem

objSender.Index = nContIndex
objSender.CallBack

Y guardo las aplicacion hijas en una coleccion

objSenders.Add objSender, CStr(nContIndex)

OK. a este punto espero que entiendan mas o menos que hace y como lo hace
la
aplicacion, ahora las preguntas del millon.

1. Existe en .NET alguna forma mejor de manejar la comunicacion FTP y RAS
que no sea por APIs?

2. Como podria manejar subprocesos aislados en .NET para implementar el
uso
de varios modem? algunas referencias?

3. Saben de algun artículo, sitio web, codigo de ejemplo donde pueda leer
sobre estos temas?

MUCHAS GRACIAS POR SU TIEMPO. Atte. Davo.

Preguntas similares