Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Compartir tabla en memoria (https://www.clubdelphi.com/foros/showthread.php?t=91507)

jars 21-02-2017 20:39:16

Compartir tabla en memoria
 
Hola amigos.
Quisiera saber si existe alguna posibilidad de que 2 programas Delphi 7 compartan una tabla ,pej TClientDataSet, en memoria.
Uno solo la actualiza, el otro solo la lee.
Cualquier ayuda sera bienvenida.
Gracias.

AgustinOrtu 21-02-2017 21:05:18

Ve por lo sencillo que es guardar el TClientDataSet en un archivo. No tienes ni que escribir el código porque el TClientDataSet ya tiene los métodos SaveToFile y LoadFromFile

Neftali [Germán.Estévez] 22-02-2017 12:50:36

FiredaC también posee un componente para tablas en memoria, con métodos para leer y escribir a disco.
Pero si al final vas a escribir a disco, lo suyo sería una Base de Datos a la que se conecten ambas aplicaciones y te evitas leer/Escribir (digo yo).

jars 22-02-2017 15:21:35

Gracias por los comentarios.
El programa que escribe la tabla lo hace cada 500ms y el que lee no puede darse el lujo de demorarse en la lectura porque debe hacer unos cálculos en un tiempo similar, por eso la tabla en memoria.

bitbow 22-02-2017 16:00:47

Si estas menajando base de datos, no te compliques la existencia tan solo crea una tabla dedicada a ello y listo.

Saludos.

Neftali [Germán.Estévez] 23-02-2017 08:39:48

Cita:

Empezado por jars (Mensaje 513594)
El programa que escribe la tabla lo hace cada 500ms y el que lee no puede darse el lujo de demorarse en la lectura porque debe hacer unos cálculos en un tiempo similar, por eso la tabla
en memoria.

El problema es que lo de "tabla en memoria" es correcto para un programa, los datos están en memoria y es más rápida, pero en cuanto tienes que compartirlos entre dos programas y para ello tienes que pasarlos a disco, el concepto de tabla en memoria se ha perdido.

Tal vez puedas comunicar directamente los procesos utilizando otras opciones. Revisa este hilo.

AgustinOrtu 23-02-2017 15:37:41

Comunicar entre procesos es mucho mas complejo y no creo que la ganancia sea tremenda. La comunicacion entre procesos tiene su costo, y lo que puedas implementar vos no creo que este a la altura de lo que ya este implementado y funcionando hace años y probado por miles, como una base de datos. Yo insisto, de heho con una base SQLite que solo utilizan tus dos programas estas mas que sobrado. SQLite es ultra rapida, deberias realizar una prueba antes de descartarla


La franja horaria es GMT +2. Ahora son las 16:16:52.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi