Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Almacenar datos en variable global de DLL

Estas en el tema de Almacenar datos en variable global de DLL en el foro de C/C++ en Foros del Web. buenas tardes a todos, tengo una duda, luego de leer el tutorial de http://www.recursosvisualbasic.com.ar/htm/tutoriales/interaccion-visual-basic-c++.htm(no me dejaron poner el enlace) interactuar C++ con Visual y de ...
  #1 (permalink)  
Antiguo 29/04/2008, 16:16
 
Fecha de Ingreso: abril-2007
Mensajes: 26
Antigüedad: 17 años, 1 mes
Puntos: 0
Almacenar datos en variable global de DLL

buenas tardes a todos, tengo una duda, luego de leer el tutorial de http://www.recursosvisualbasic.com.ar/htm/tutoriales/interaccion-visual-basic-c++.htm(no me dejaron poner el enlace) interactuar C++ con Visual y de haber funcionado todo bien con los ejemplos que se dio empece a realizar una dll que necesito para poder imprimir desde mi sistema de facturacion desarrollado en PHP.

lo que quisiera saber es si puedo declarar una variable global en la dll de C++ y luego pasarle un valor mediante visual basic y luego esa variable usarla dentro de mi dll(desde las distintas funciones) con el dato almacenado(este dato no se tiene que perder para luego usarlo), si fuese posible quisiera que me ayuden con la forma de como declarar esa variable:

si las funciones se declaran de esta forma:
extern "C" DLLIMPORT void __stdcall conectaImpresora (long *A);

estoy pensando que la variable se declararia asi:
extern "C" DLLIMPORT STATIC char __stdcall rutaimpresora;//el dato que se almacenara es la ruta de donde se encuentre una impresora o el nombre de esta.

espero me ayuden, gracias.
  #2 (permalink)  
Antiguo 30/04/2008, 02:19
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Re: Almacenar datos en variable global de DLL

No entiendo muy bien lo que queres hacer pero seguro que __stdcall no tenes que usarlo (es una convencion de llamada de funciones).
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 05/05/2008, 14:00
 
Fecha de Ingreso: abril-2007
Mensajes: 26
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Almacenar datos en variable global de DLL

disculpa por no responder antes, lo que quiero es que en la dll que tengo en c++ haya una variable que me almacene una cadena de texto y que ese valor no se pierda, y por medio de visual basic asignarle el valor a esa variable, no se si se entendio

en C++

variable ruta

y desde visual basic

ruta = "c:/casa/etc/ej.txt"

y que este valor no se pierda para luego de las funciones de mi dll pueda usar esta ruta.

gracias por responder
  #4 (permalink)  
Antiguo 05/05/2008, 14:44
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Re: Almacenar datos en variable global de DLL

La forma mas simple que se me ocurre ahora mismo es usar una variable de tamaño fijo:

Código:
char rutaImpresora[MAX_PATH] = "";

void setRutaImpresora(char *ruta)
{
  strncpy(rutaImpresora, ruta, MAX_PATH - 1);
  rutaImpresora[MAX_PATH - 1] = 0;
}

char *getRuta()
{
  return rutaImpresora;
}
Lo podes hacer con memoria dinamica tambien ...
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:06.