• Domingo 22 de Diciembre de 2024, 17:27

Autor Tema:  Comunicación Entre Ventanas  (Leído 1450 veces)

avis_phoenix

  • Miembro activo
  • **
  • Mensajes: 96
  • Nacionalidad: mx
    • Ver Perfil
Comunicación Entre Ventanas
« en: Miércoles 8 de Junio de 2005, 20:09 »
0
mi programa tiene como inicio una ventana con el menu de opciones, entonces presionas un boton y aparece ensi el programa ya configurado según las opciones que elegiste, o eso pretendo hacer.
Sucede que estoy ya en la parte donde verifico las opciones del nivel, pero no puedo ver desde la otra ventana que valor tienen los radio buttons, ni nada de la otra ventana, y desde la ventana principal ta mpoco puedo alterar cosas de la ventana secundaría (por qué??) y entonces hice una cabecera que definia variables globales, entonces ahi estabn unas variables que almacenan con 1 si elegio facil, con un 2 si elegio dificil, y con un 3 si eligio imposible, y en la otra ventana verifico estas variables para saber que opcion eligioeron, no me ice nada al compilar, pero al construir el linking me dice que no se puede usar esas variables por que ya fueron usadas en otros objetos, ahhh no sé que hacer, AYUDA!!!!!
Usó visual c++ con un proyecto CLR
"La envidia en los hombres muestra cuán desdichados se sienten, y su constante atención a lo que hacen o dejan de hacer los demás, muestran cuánto se aburren." "Las religiones, como las luciérnagas, necesitan de oscuridad para brillar." "Los hombres vulgares han inventado la vida en sociedad porque les es más fácil soportar a los demás que soportarse a sí mismos." "Sólo es libre aquello que existe por las necesidades de su propia naturaleza y cuyos actos se originan exclusivamente dentro de sí." "La experiencia nos ha demostrado que a la persona no le resulta nada más difícil de dominar que su lengua." "La madurez del hombre es haber vuelto a encontrar la seriedad con la que jugaba cuando era niño." "Los monos son demasiado buenos para que el hombre pueda descender de ellos." "El hombre, en su orgullo, creó a Dios a su imagen y semejanza" "Lo que hacemos no es nunca comprendido, y siempre es acogido sólo por los elogios o por la crítica."

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Comunicación Entre Ventanas
« Respuesta #1 en: Domingo 12 de Junio de 2005, 06:28 »
0
Citar
otra ventana, y desde la ventana principal ta mpoco puedo alterar cosas de la ventana secundaría (por qué??)

Tienes que aprender mucho de POO.


Ahora para hacer eso que haes es necesario que cada una de las formas pertenezcan al mismo proyecto y en uno de los fuentes debes declarar esas variables globales como extern...
es decir en una de ellas la defines como:


public static int variable

y en la otra seria:

public static estern int variable;

Lo mas ercomendable para la comunicacion entre ellas seria por pasos de parametros en el constructor, es decir

Código: Text
  1.  
  2. ...
  3. ...
  4. public form forma1( ref string cadenacom)
  5. {
  6. }
  7. ...
  8. ...
  9.  
  10. public form forma2()
  11. {
  12.    String cadena1="blablabva";
  13.    forma1 f1 = new forma1(ref cadena1)
  14. }
  15.  
  16.  

Y aun mas recomendabe realizar la comunicacion haciendo uso de sockets, para lo cual las formas bien pueden ser de proyectos diferentes.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

avis_phoenix

  • Miembro activo
  • **
  • Mensajes: 96
  • Nacionalidad: mx
    • Ver Perfil
Re: Comunicación Entre Ventanas
« Respuesta #2 en: Domingo 12 de Junio de 2005, 18:05 »
0
Bueno, sé que no me resultaría los codigos de los constructores pues uso CLR (repito), y así no se crea un String ni un form.
de todos modos yo lo solucione simplemente poniendo variables globales en el codigo del .cpp y entonces las funciones que necesitaban comunicarse con la otra ventana lo que hice fue realizarlas en el .cpp de la otra ventana y usar las variables globales como comunicadores, y listo, así si me funciono, perdón por no poner la respuesta que encontre.
Si la pones en el .h sea como sea que la pongas no me deja usarlas en otras ventanas, si son globales en el .h no las puedo usar en ningún lado, si son públicas en la ventana (en la clase de la ventana) no me deja usarlas (no sé por que debería) en otras ventanas, sólo en la misma ventana, aunqeu sean públicas, esta medio raro este compilador (vengo de acostumbrar a usar builder y visual me salio  muy raro para mi), sabes por que no las deja usar si son públicas?
tienes que ser forzosamente extern para que pueda usarla desde afuera de la clase? (no me consta que sirva, puede ser que ni con extern sirva, deja veo)
"La envidia en los hombres muestra cuán desdichados se sienten, y su constante atención a lo que hacen o dejan de hacer los demás, muestran cuánto se aburren." "Las religiones, como las luciérnagas, necesitan de oscuridad para brillar." "Los hombres vulgares han inventado la vida en sociedad porque les es más fácil soportar a los demás que soportarse a sí mismos." "Sólo es libre aquello que existe por las necesidades de su propia naturaleza y cuyos actos se originan exclusivamente dentro de sí." "La experiencia nos ha demostrado que a la persona no le resulta nada más difícil de dominar que su lengua." "La madurez del hombre es haber vuelto a encontrar la seriedad con la que jugaba cuando era niño." "Los monos son demasiado buenos para que el hombre pueda descender de ellos." "El hombre, en su orgullo, creó a Dios a su imagen y semejanza" "Lo que hacemos no es nunca comprendido, y siempre es acogido sólo por los elogios o por la crítica."