Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-10-2006
Avatar de anghell77
anghell77 anghell77 is offline
Miembro
 
Registrado: may 2006
Posts: 194
Poder: 18
anghell77 Va por buen camino
"Undeclared Identifier "CLOSE"

Puede que sea de novatísimo...pero no lo sé...

Alguien sabe porqué demonios no me reconoce la instruccion CLOSE en un formulario??
La situación:
Tengo un formulario que es submenú de Reportes.
Dos botones en este form, MENU REPORTES, y MENU PRINCIPAL
El primero (Menu Reportes) envía obvio al form con las opciones del menú de reportes, el cual se queda abierto pero minimizado mientras trabajo en el subemenu (form donde tengo el problem)
El segundo (Menu Principal) debe cerrar mi formulario de submenú, el menú de reportes y enviar hasta el primer formulario del proyecto.

La situación está en que:

Código Delphi [-]
procedure TRep_Inv.Menu_ReportesClick(Sender: TObject);
begin
Rep_Inv.Close;
Menu_Reportes.Show;
end;

Lo curioso es que en éste evento (el anterior) si me envía al form menu_reportes...

En el siguiente me da el error:
Código Delphi [-]
procedure TRep_Inv.Menu_PrincipalClick(Sender: TObject);
begin
Rep_Inv.Close;
Menu_Reportes.Close; //Aquí el error "Undeclared Identifier "CLOSE"
Menu_Principal.Show;
end;

Y aquí el código del evento OnClose del Formulario de menú de Reportes

Código Delphi [-]
procedure TMenu_Reportes.FormClose(Sender: TObject; var Action: TCloseAction);
var a:=Integer;
begin
For a:=17 downto 0 do
Menu_Reportes.AlphaBlendValue:=a*15;

Principal.WindowState:=WsNormal;
Principal.Visible:=true;
end;



Lo que debo aceptar, es que no sé para que rollo sirve el ShowModal, MIDI, MIDIChild....eso,...no se ni que demonios...todos mis forms están en su propieda
Cita:
FormStyle fsNormal
y ya antes desde otros formularios había hecho la llamada de cerrar el formulario actual, el de menu de reportes y que me dejara en el principal...

NOTA: Aún de que no se encuentre en el uses del implementation,la unidad correspondiente al Menu_Reportes, me lo muestra en el evento ya escrito anteriormente

Código Delphi [-]
...
Rep_Inv.Close;
Menu_Reportes.Show;...

Y aunque lo agregue al uses, sigue el mismo error....
Ya busqué en la ayuda....y ps no...no encontré algo similar....
Gracias por el tiempo que se tomen en leerlo!!
{Saludos}
__________________
"...Ayer Bastaba un Sueño..."
Responder Con Cita
  #2  
Antiguo 09-10-2006
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 22
Bicho Va por buen camino
Hola,

ya probaste de hacer lo siguiente:

Código Delphi [-]
procedure TRep_Inv.Menu_PrincipalClick(Sender: TObject);
begin
Rep_Inv.Close;
NombreDeLaUnitALaQuePertenece.Menu_Reportes.Close; //Aquí el error "Undeclared Identifier "CLOSE"
Menu_Principal.Show; //Aqui debes poner lo mismo, porque al compilar te dira que show no lo reconoce
end;

No basta con incluir en el uses la unit a la que pertenece el formulario que estas usando, sino que además para acceder a ella debes incluirla explícitamente.

Espero te sirva.

Saludos
Responder Con Cita
  #3  
Antiguo 09-10-2006
Avatar de anghell77
anghell77 anghell77 is offline
Miembro
 
Registrado: may 2006
Posts: 194
Poder: 18
anghell77 Va por buen camino
...A veces (lo he dicho antes) me siento inútil e inservible (será que tengo que dormir además de aprender más, más más...) ....

Gracias, Bicho.....Ha funcionado.....

Lo que no concibo....es ¿porqué suceden ese tipo de cosas?...Digo, cuando en otros form (versiones anteriores) lo había implementado de esa forma.... y funcionaba.....

Bueno....el problema solucionado...la incógnita, será necesaria estudiarla....

Gracias nuevamente.....

{Saludos}
__________________
"...Ayer Bastaba un Sueño..."
Responder Con Cita
  #4  
Antiguo 09-10-2006
Avatar de epuigdef
epuigdef epuigdef is offline
Miembro
 
Registrado: jul 2005
Posts: 196
Poder: 19
epuigdef Va por buen camino
Buenas!

La direfencia está en si tienes declarada la otra unit en la parte "uses" del form.

En caso afirmativo no necesitarías indicar el nombre del unit tal y como te ha dicho bicho.

Un saludo

Edu
Responder Con Cita
  #5  
Antiguo 09-10-2006
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Cita:
Empezado por anghell77
Lo que no concibo....es ¿porqué suceden ese tipo de cosas?...Digo, cuando en otros form (versiones anteriores) lo había implementado de esa forma.... y funcionaba.....
Se debe, principalmente, al sistema de protección de datos (o encapsulación) definido por el lenguaje Pascal. Según la definición formal del lenguaje, un módulo sólo puede acceder a sus propios datos, quedando los datos del resto de los módulos ocultos a la vista. Si lleváramos a rajatabla esta norma, no sería posible utilizar otros módulo (units) en nuestros programas, así que dentro del área de visibilidad de un módulo se incluyen los módulos adyacentes declarados en la sección USES, pero no los módulos no adyacentes.

Creo que está claro, ¿no? Es importante entenderlo para evitar que te pase otra vez lo que te ha pasado.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ventana MDI, "Siempre visible" y "Pantalla completa" ixMike API de Windows 7 11-04-2007 18:36:55
¿cuál es mejor: "close" o "application.terminate"? unreal4u Varios 5 05-03-2007 11:01:19
"ChequeaEsto" elegido el futuro "Killer CLubDelphi" mamcx Noticias 51 31-10-2006 20:56:32
Firebir y usar "IF" en la clausula "SELECT" papulo SQL 6 25-07-2006 21:38:04
porque no me reconoce los caracteres "*" ni "%" cuando filtro mrmago Conexión con bases de datos 10 27-01-2006 04:21:16


La franja horaria es GMT +2. Ahora son las 10:54:17.


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
Copyright 1996-2007 Club Delphi