 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
tyloya Master

Registrado: 20 Ago 2002Mensajes: 175
|
Publicado: Lun 14 Oct, 2002 10:45 am Asunto: AYUDA!!!!!Muy IMPORTANTE!!! |
|
|
Hola a todos!!
Alguien puede decirme dónde tengo que declarar un array 2D(dentro del .cpp o del .h??) para que si modifico su valor con un método en un módulo, ese mismo array pueda utilizarlo desde otro módulo distinto ....por ejemplo, en otra función que tenga que ver el último valor con el que se modificó?
Sé que si lo declaro en el .cpp, es global a ese módulo y ningún otro módulo puede verlo,............. pero entonces si lo declaro en el .h, al querer ver el array desde otro módulo distinto, no veo la modificación que se realizó...........entendéis?, como lo que incluyo en cualquier módulo en el .h( #include modulo.h) el valor que tiene ese array es nulo.
AYUDA!!!!!!! |
|
| Volver arriba |
|
 |
ferpb Invitado
|
Publicado: Lun 14 Oct, 2002 10:54 am Asunto: |
|
|
creo que lo siguiente no es cierto:
Sé que si lo declaro en el .cpp, es global a ese módulo y ningún otro módulo puede verlo,.............
tecnicamente si puede verse global a la aplicacion. |
|
| Volver arriba |
|
 |
tyloya Master

Registrado: 20 Ago 2002Mensajes: 175
|
Publicado: Lun 14 Oct, 2002 10:58 am Asunto: |
|
|
| ferpb escribió: | creo que lo siguiente no es cierto:
Sé que si lo declaro en el .cpp, es global a ese módulo y ningún otro módulo puede verlo,.............
tecnicamente si puede verse global a la aplicacion. |
Entonces porqué no deja acceder a esa variable desde otro módulo?.
Tiene algo que ver con el uso de "EXTERN"? |
|
| Volver arriba |
|
 |
ferpb Invitado
|
Publicado: Lun 14 Oct, 2002 11:24 am Asunto: |
|
|
habitualmente no uso variables globales, sino que accedo a traves de métodos publicos a propiedades locales, (que te puede evitar retocar toda la aplicacion si decides cambiar la estructura de datos).
creo que tienes que #include "fichero.h" del .cpp que contiene tu vble global en el modulo desde el que quieres acceder.
Creo que tambien tienes que declarar como extern la variable global que deseas utilizar. como extern en el fichero que la coge, no en el que la declaras.
si usas el buscador y pones ambito en la casilla de buscar hay un par de topics que te pueden aclarar algo.  |
|
| Volver arriba |
|
 |
WinMan Invitado
|
Publicado: Mar 15 Oct, 2002 10:55 pm Asunto: |
|
|
Si DEFINES un objeto dentro del .cpp (que es donde debe ir) y fuera de cualquier otro ambito en el .cpp, ese elemento es local al archivo, para que lo puedas utilizar fuera de ese .cpp, debes DECLARAR dicho objeto en el .h con la palabra reservada extern e incluir dicho .h en los modulos donde necesitaras hacer referencia a dicho objeto, observa la forma en que se utiliza el objeto Fom1 cuando inicias una nueva aplicación. no hagas caso a la palabra reservada PACKAGE.
WinMan[/code] |
|
| Volver arriba |
|
 |
John Invitado
|
Publicado: Mie 23 Oct, 2002 2:02 am Asunto: Hola |
|
|
Hola, lo que necesitas es que tu array sea reconocido en varias unidades? si es asi, puedes hacerlo incluyendo la palabara reservada extern antes de la declaracion, como asi¡?, pues asi:
| Código: |
//por ejemplo declara esto en l1.cpp
int array[20];
//ahora si quieres acceder a el desde otro modulo .cpp,
//teniedo en cuenta que este pudo ser modificado por el modulo l1.cpp
//simplemente haces:
extern int array[20];
|
y listo ahi lo tienes, con los valores que tenga en cualquier instante dado.
Chaolin,
Espero que te sirva
"Estaremos en contacto". |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|