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 14-08-2006
turminator turminator is offline
Miembro
 
Registrado: abr 2006
Ubicación: Barcelona, Spain
Posts: 91
Poder: 19
turminator Va por buen camino
Ventanas principal y secundaria

Hola!

Estaba mirando de profundizar en la programación con múltiples ventanas, ya que hasta ahora lo poco que hice, fue mediante Tabsheets. Estaba consultando un tutorial bastante interesante http://www.elrinconcito.com/delphi/t.../Tutorial4.zip pero resulta que algo hice mal porque empezé una aplicación nueva, añadí una nueva form, hice lo de desactivarla de su ejecucción inmediata y ahora cuando queria meter un botón que me permitiera mostrar la nueva ventana, algo me fue mal ya que no me deja compilar y me dice undeclared identifier TForm2.

El codigo que le puse fue el siguiente:

Código Delphi [-]
var
varform: TForm2;
begin
  varform:=TForm2.Create(Self);
  try
    varform.ShowModal;
  finally
varform.Free;
end;
end;

y el del proyecto entero:

Código Delphi [-]
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
varform: TForm2;
begin
  varform:=TForm2.Create(Self);
  try
    varform.ShowModal;
  finally
varform.Free;
end;
end;
end.

No sé donde puede estar el error quizás sea algo sencillo pero no lo he encontrado, agradecido de antemano!
Responder Con Cita
  #2  
Antiguo 14-08-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Parece que tienes que añadir la unidad en que se encuentre definida la clase "TForm2". No aparece en el código, pero, sí aparece una clase "TForm2", de ahí el error de que no se encuentra la definición de esa clase por ningún lado.

PD. Probablemente la clase "TForm2" se encuentre en una unidad de nombre "Unit2.pas".
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 14-08-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Falta incluir Unit2 en el uses de Unit1

// Saludos
Responder Con Cita
  #4  
Antiguo 14-08-2006
turminator turminator is offline
Miembro
 
Registrado: abr 2006
Ubicación: Barcelona, Spain
Posts: 91
Poder: 19
turminator Va por buen camino
Ok!

Muchas gracias por la aclaración científica de dec y por la práctica de roman.JeJe. Espero que en breve empieze a dominar un poco del tema.

Lo que me habia ocurrido después es que me salia un error que no me permitia seguir y me decia: "Cannot make a visible windows modal" lo solucioné modificando la opción del Form2 de visible: pasándola de True a False, pero no sé el motivo. Tambien a menudo cuando salen errores al compilar con el proyecto medio corriendo, se me queda Delphi colgado y debo cerrarlo y volver, hay alguna solución rapida, o es mejor que me asegure bien antes de compilar?

Saludos y gracias!
Responder Con Cita
  #5  
Antiguo 15-08-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por turminator
Lo que me habia ocurrido después es que me salia un error que no me permitia seguir y me decia: "Cannot make a visible windows modal" lo solucioné modificando la opción del Form2 de visible: pasándola de True a False, pero no sé el motivo.
Se trata de que no se puede establecer como "Modal" un formulario ya visible. Al crearse el formulario, si este tiene su propiedad "Visible" en "True", al ejecutarse el método "ShowModal" aparecerá el error que comentas. Lo extraño acaso esté en que ese formulario tenga la propiedad "Visible" en "True", puesto que por defecto es "False".

Cita:
Empezado por turminator
Tambien a menudo cuando salen errores al compilar con el proyecto medio corriendo, se me queda Delphi colgado y debo cerrarlo y volver, hay alguna solución rapida, o es mejor que me asegure bien antes de compilar?
Bueno. Me parece que lo que precisas es "detener" el programa, "resetear" el proceso de "depuración" del mismo. Esto puedes hacerlo sencillamente pulsando las teclas "CTRL + F2", en el IDE de Delphi, mientras el programa está depurándose/ejecutándose. Echa un vistazo al menú "Run" de Delphi, verás que hay otros comandos interesantes además del mencionado "Reset program".
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 15-08-2006
turminator turminator is offline
Miembro
 
Registrado: abr 2006
Ubicación: Barcelona, Spain
Posts: 91
Poder: 19
turminator Va por buen camino
ok!

Gracias por los conceptos, lo de la combinación control+F2, creo que me resultará muy cómoda a partir de ahora y voy a investigar el menú run en breve.

Saludos y gracias!
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
Control de ventana secundaria davich HTML, Javascript y otros 2 27-06-2006 16:59:58
Ventanas,Ventanas Mdi=Dolor de cabeza ? IVAND Varios 7 08-05-2006 17:27:24
Ocultar forma principal xer0-q Varios 1 23-09-2005 23:15:20
Forms contenidos en el principal lafirma OOP 2 29-03-2004 19:38:26
TTreeView y Form principal silviodp OOP 3 18-05-2003 03:55:33


La franja horaria es GMT +2. Ahora son las 08:56:42.


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