Ir al contenido


Foto

componente SdpoSerial en multihilo


  • Por favor identifícate para responder
5 respuestas en este tema

#1 kheldar

kheldar

    Newbie

  • Miembros
  • Pip
  • 1 mensajes

Escrito 29 marzo 2011 - 10:03

:cry:
En primer lugar saludar a todos y dar las gracias por anticipado.
Necesito ayuda en un proyecto en el que estoy metido.
Estoy desarrollando una aplicación con Lazarus la cual por sus características es multihilo y en la cual utilizo el puerto serie.
Uso el componente SdpdSerial para cas comunicaciones serie y no tengo problema cuando lo uso en el cuerpo principal del problema, pero tengo la necesidad de trasladar su uso a uno de los hilos secundarios y es aquí donde me surge el problema: Cuando intento usar el componente en un hilo me da el problema … esternal:’SIGSEGV’…
POR FAVOR UN POCO DE AYUDA!!! Creo que he probado de todo y no consigo solucionarlo. Gracias

  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 29 marzo 2011 - 10:09

Hola Kheldar y bienvenido a DA, sería bueno que publicaras parte del código donde realizas la acción de hilos y así determinar donde radica el problema.

De nuevo, bienvenido a Delphiaccess.

Saludos.
  • 0

#3 fredycc

fredycc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 874 mensajes
  • LocationOaxaca, México

Escrito 29 marzo 2011 - 10:38

Hola Kheldar y bienvenido a DA, sería bueno que publicaras parte del código donde realizas la acción de hilos y así determinar donde radica el problema.

De nuevo, bienvenido a Delphiaccess.

Saludos.

Comparto la opinión de enecumene, además creo sería conveniente saber el tipo de dispositivo; dado que en algunos necesitas esperar cierto tiempo antes de accesarlo y cosas por el estilo, me pasó con algunos modems.
Saludos
  • 0

#4 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 29 marzo 2011 - 12:39

kheldar Bienvenido al foro 
Tienes un problema en tu programa, pero sin ver como lo haces es imposible poder decirte que esta mal. Danos un poco de informacion y veremos como ayudarte a resolver el problema.




  • 0

#5 FGarcia

FGarcia

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 687 mensajes
  • LocationMéxico

Escrito 29 marzo 2011 - 01:03

SIGSEGV un error muy comun al ejecutar Lazarus, las causas: un monton  :D


En Ingles algunos datos sobre el.
  • 0

#6 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.092 mensajes
  • LocationMurcia, España

Escrito 30 marzo 2011 - 03:18

Personalmente veo poco sentido a acceder a un puerto serie en un entrono multihilo: de alguna forma tienes que asegurarte de que solo un hilo accedera simultaneamente al puerto, o el desastre está asegurado, y puedo imaginar que el propio componente dé por supuesto que está en el hilo principal y falle -o se niege a funcionar- en un hilo secundario.

Creo que lo correcto sería sacar el uso del puerto a una funcion en el hilo principal y que los otros hilos envien alli sus peticiones con las precuaciones normales en las comunicaciones entre hilos (como ocurre si usas un USB, el S.O. se ocupa de serializar las peticiones, pero aquí no tienes eso, accedes al puerto "a bajo nivel"). Asi puedes incluso "serializar" el que varios hilos quieran usar el puerto a la vez si te hiciese falta.
  • 0




IP.Board spam blocked by CleanTalk.