![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Una pregunta, ¿por qué no utilizar la comunicación por red, a través del loop-back (localhost ó 127.0.0.1)? Es el método que se suele utilizar en los sistemas POSIX (UNIX, Linux, Solaris, MacOS, ...), incluso para comunicar el programa con el gestor de ventanas, y en mi opinión es bastante mejor, más lento pero mucho más flexible y menos propenso a las corrupciones de memoria.
En fin, una simple opinión.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi! - BAScript - Multi Language Scriptable Development Environment |
|
#2
|
||||
|
||||
|
Pues como parece que la solución no pasa por enviar un simple mensaje, tendre que tratar de hacerlo de otra forma. La idea de la memoria compartida suena bien, pero no se como hacerlo. Tampoco se como mapear ficheros en memoria, como apuntaba Mick.
Una solución fácil puede ser escribir un fichero en disco, pero parece chapucero... |
|
#3
|
||||
|
||||
|
Pues yo insisto con lo del loop-back
![]()
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi! - BAScript - Multi Language Scriptable Development Environment |
|
#4
|
|||
|
|||
|
Busca en google "delphi shared memory" y encontraras documentacion de sobra,
por ejemplo: http://www.eagle9.nl/main/Programmin.../ProgShMem.asp Saludos |
|
#5
|
||||
|
||||
|
Cita:
Gracias. |
|
#6
|
||||
|
||||
|
Correcto shared memory funciona.
He implementado una clase para hacerlo y utilizando esa clase, con dos líneas de programación, consigo comunicar los dos programas con éxito. El tema del loop-back lo investigaré mas despacio. También parece interesante. Gracias. EDITO: Pero... al pasar punteros tengo problemas si copio sus contenidos en memoria local del proceso. En el servidor, copio el contenido de un array de texto (char*) al shared memory dimensionado para tal. En el cliente copio esa memoria a un array de dimensión conocida. Si hago este último paso, termino teniendo errores en otras zonas de código, posiblemente por corrupción de memoria. Algo hago mal o no es un buen sistema para pasar arrays. Seguiré investigando. Última edición por escafandra fecha: 19-02-2008 a las 20:47:31. Razón: Añado comentario |
|
#7
|
||||
|
||||
|
Bueno, los elementos del arreglo deben estar "auto contenidos" en la misma zona de memoria compartida. En c un array de texto (char*) es, en realidad, un array de punteros... por lo que volvemos al inciso 1.
Si te las arreglas para que todos los datos estén en la zona compartida, no te dará problemas. Hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| pasar un puntero a una funcion | baby | Varios | 2 | 21-05-2007 13:10:22 |
| Se Pueden Pasar Form/units de una aplicacion a otra? | Alexis De la Cr | Varios | 8 | 06-07-2006 19:05:42 |
| Pasar texto de una aplicacion delphi a otra | OmarPerez | API de Windows | 4 | 13-07-2005 20:56:19 |
| Recibir parametros de otra aplicacion en Delphi | Coco_jac | Varios | 1 | 30-05-2005 17:43:17 |
| pasar parametros ms-dos desde mi aplicacion | ixMike | API de Windows | 5 | 13-02-2005 15:56:38 |
|