FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Hola,
Solucióname una duda, por favor. Cuando dices que el puerto "Serial" es de uso exclusivo, ¿a qué te refieres exactamente? ¿A que una aplicación accede de forma exclusiva al puerto "Serial"? Si esto es así, ¿no son varias instancias de una aplicación, a todos los efectos, aplicaciones distintas, procesos distintos? Pero, como preguntas lo que preguntas, ¿acaso probaste ya con varias instancias de tu programa y tuviste problemas para trabajar con ellas? Es de suponer que sí, entonces, ¿porqué crees que el problema puede estar en la "exclusividad" del puerto "Serial"? ¿Te aparece un error que te dice algo así o qué? Bueno. He comenzado pidiéndote por favor que me solucionaras una duda pero ya van más de una y más de dos. Me disculpo. |
#2
|
||||
|
||||
Hola dec
"Solucióname una duda, por favor. Cuando dices que el puerto "Serial" es de uso exclusivo, ¿a qué te refieres exactamente? ¿A que una aplicación accede de forma exclusiva al puerto "Serial"? Si esto es así, ¿no son varias instancias de una aplicación, a todos los efectos, aplicaciones distintas, procesos distintos?" Asi es. Solo una aplicación puede abrir el puerto serial, despues de eso, cualquier aplicación (o instancia) que desee abrirla no podrá y saltará un error. (puerto serial ya abierto) "Pero, como preguntas lo que preguntas, ¿acaso probaste ya con varias instancias de tu programa y tuviste problemas para trabajar con ellas? Es de suponer que sí, entonces, ¿porqué crees que el problema puede estar en la "exclusividad" del puerto "Serial"? ¿Te aparece un error que te dice algo así o qué?" Como comenté anteriormente, solo la primera instancia de la aplicación puede abrir el puerto serial (obviamente si no hay alguna otra aplicación usandolo) y hasta aca no hay problemas. El problema es que es necesario que la aplicación pueda ser iniciada 2,3 o mas veces y todas esas instancias puedan usar el puerto serial. Entonces ahi viene el problema... La solución sería que la primera instancia busque si ha sido cargada, digamos, una dll que contiene el componente que se encarga de la comunicación serial y un TStringList. Si está cargada la usa y tiene acceso a esos 2 objetos y si no está cargada la carga en memoria para que pueda ser usado por las demás instancias. Mi duda es, si esto es posible hacerlo... "Bueno. He comenzado pidiéndote por favor que me solucionaras una duda pero ya van más de una y más de dos. Me disculpo." No tienes que disculparte, mas bien gracias por interesarte. Saludos |
#3
|
||||
|
||||
Por que no creas una sola aplicación (por ejemplo un servidor com o un servidor indy) que se conecte al puerto serial, y luego todas las instancias de tu programa se conectarán a este "servidor serial" para realizar las operaciones.
Así, lo único que faltaría es serializar en este servidor las operaciones que llegan por los diferentes clientes de manera que solo haya una línea para leer y/o escribir datos al puerto. Saludos.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#4
|
||||
|
||||
Ingeniosa idea jachguate
No se me había ocurrido esa solución. Voy a implementarlo usando TIdUDPServer y TIdUDPClient Ya les contaré como me fue. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Compartir AciveX entre formulario | Coco_jac | Varios | 2 | 03-10-2005 22:28:04 |
Varias instancias DataModules | rodmayes | OOP | 1 | 05-09-2005 13:37:45 |
DataModule llamado desde varias instancias | floren | OOP | 4 | 06-04-2004 19:27:50 |
Fichas compartidas entre varias opciones | Marina | Varios | 3 | 25-11-2003 15:49:25 |
consultas entre varias tablas | Irina | SQL | 3 | 27-05-2003 19:58:32 |
|