[C con Clase] Manejar datos entre diferentes programas

Programante programante en gmail.com
Sab Jul 21 18:42:13 CEST 2007


Isabel Rios Escobar escribió:
> Hola,
> Por favor, alguien me podría decir si es posible lo que planteo a 
> continuación y la manera optima de hacerlo....Muchísimas gracias!!
>  
> Estoy haciendo un programa que obtiene unos datos y los gestiona, una 
> vez que los tiene, se los ha de pasar a otro progrma. Para ello me he 
> creado un proyecto con Dev C++ que incluye: Ejemplo.h,Ejemplo.cpp(este 
> es el que obtiene y gestiona los datos), UsaDatosEjemplo.cpp, 
> UsaDatosEjemplo.h. Los nombres no son los reales, pero como ejemplo 
> para entender mejor esto creo que valen...
> -Mi primera idea fue la de usar estructuras, me creo una en Ejemplo.h, 
> y la gestiono desde Ejemplo.cpp, para luego llamarla desde 
> UsaDatosEjemplo.cpp. Esto me da muchos errores, no se exactamente como 
> asignarle los datos que yo obtengo a cada variable..y si se puede 
> acceder a ellos desde el otro programa a través de las variables de la 
> estructura...
Esto no es desde distintos programas, sino desde distintos módulos (se 
genera ún único .exe). La estructura debe tener la misma declaración en 
ambos archivos y la variable compartida debe estar declara da SÓLO EN 
UNO de ellos, sino tendrás dos variables distintas con el mismo nombre 
(y al ser distintos archivos, el compilador no te dará errores). En el 
segundo debes declararla como extern.

Ejemplo.h
 struct estructura_a_compartir {
   int a;
   int b;
};

Ejemplo.cpp
#include "Ejemplo.h"
 struct estructura_a_compartir Compartida;

UsaDatosEjemplo.cpp
#include "Ejemplo.h"
extern struct estructura_a_compartir Compartida;


> -Viendo que esto no lo consigo, pense en pasarselos directamente, pero 
> se puede hacer de alguna forma?
Usa una función que tenga como parámetro un puntero o una referencia a 
esa clase de estructura.

Espero que te sirva






Más información sobre la lista de distribución Cconclase