• Domingo 19 de Mayo de 2024, 12:38

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - fcampanero

Páginas: [1]
1
C# / Problema Con Hilos
« en: Miércoles 25 de Julio de 2007, 09:44 »
Buenos días

A ver si alguien me puede echar una mano. Estoy un poco perdido, es el primer programa que hago en C# y me está costando un poquillo.
Me he echo un programa para recuperar las posiciones del GPS de una PDA.

He echo un formulario que tiene dos simples botones y un textBox.
Un boton para conectar y otro para salir.
El botón conectar enlaza con una clase (public class ConectarGPS) que tiene un metodo (conectaGPS()) y lo que hace este método es sacarme todas las trazas del GPS a un fichero plano.

En el formulario he realizado un boton conectar, que hace lo siguiente
try
{
       hilo = new Thread(new ThreadStart(conectarGPS.conectaGPS));
}

Directamente no entra en el conectaGPS, no se que pasa,

¿por que puede ser esto?,
El formulario tiene lo siguiente:
namespace ConectarGPS
{
    public partial class Formulario : System.Windows.Forms.Form
    {
        private Thread hilo;
        private System.IO.Ports.SerialPort puertoGPS = new
                     System.IO.Ports.SerialPort("COM3");
        private ConectarGPS conectarGPS;
        public Formulario()
        {
            InitializeComponent();
        }

        private void Formulario_Load(object sender, EventArgs e) {}

        public void Conectar_Click(object sender, EventArgs e)
        {
            this.comentarios.Text = "  .....Antes de Entrar.....   ";
            System.Threading.Thread.Sleep(3000);
            puertoGPS.Open();
            this.comentarios.Text = "  .....He abierto el puerto.....   ";
            System.Threading.Thread.Sleep(3000);
            try
            {
                hilo = new Thread(new ThreadStart(conectarGPS.conectaGPS));
            }
            catch (Exception)
            {
                this.comentarios.Text = "Sale por la excepcion   ";
                System.Threading.Thread.Sleep(2000);
            }

            hilo.Start();
        }
        private void comentarios_TextChanged(object sender, EventArgs e) {}

        private void salir_Click(object sender, EventArgs e)
        {
            if (puertoGPS.IsOpen)
            {
                puertoGPS.Close();              
            }
            Application.Exit();
        }
}

conectaGPS tiene lo siguiente:

namespace ConectarGPS
{
    public class ConectarGPS
    {
        static void Main()
        {
            Application.Run(new Formulario());
        }

        public void conectaGPS()
        {
            ... Aqui hago todo el desarrollo de conexion, y bajada de fichero
         }
   }

Páginas: [1]