Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-10-2006
Avatar de Ascii1457
Ascii1457 Ascii1457 is offline
Miembro
 
Registrado: oct 2006
Posts: 20
Poder: 0
Ascii1457 Va por buen camino
Nueva duda... abrir otro Form... x_x

Bueno, creo que esta duda realmente debe ser una tontera gigante… pero realmente ya no se como se hace. x_x

Pues tengo 2 Form que cree ( Uno como Ventana principal y otra solo da mensajes )… y pues simplemente quiero abrir del form1 el form2… pero no me funciona, ya que en el código del form1 me dice que no esta declarado form2, como para hacer form2.ShowModal; o algo por el estilo…

Bueno, a ver si alguien me salva de la perdición nuevamente.

Y lo siento si es una pregunta muy tonta ^_^U

PD: Realmente he buscado en el foro... pero como que no he podido pillar nada sobre mi problema en si.
Responder Con Cita
  #2  
Antiguo 15-10-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Tienes que declarar en las uses del primer formulario la unidad que contiene el segundo formulario. Algo así:
Código Delphi [-]
 // ...

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses unit2; // Suponiendo que la unit del segundo formulario se llama unit2

// ...
Responder Con Cita
  #3  
Antiguo 15-10-2006
Avatar de Ascii1457
Ascii1457 Ascii1457 is offline
Miembro
 
Registrado: oct 2006
Posts: 20
Poder: 0
Ascii1457 Va por buen camino
Aaaaaaaaaaaaa... ahora que me fijo esta mas que claro... no se como no me fije antes en eso… U_U

Muchas gracias seoane, que llevaba largo rato dando vueltas en el tema tonto este @_@

Debe ser el sueño que ya no me deja pensar con claridad =_=
Responder Con Cita
  #4  
Antiguo 15-10-2006
Avatar de Ascii1457
Ascii1457 Ascii1457 is offline
Miembro
 
Registrado: oct 2006
Posts: 20
Poder: 0
Ascii1457 Va por buen camino
Estooo... surgio un pequeño problema...

Al compilar me da este error en la linea que pongo Msgbox.showmodal;

:s

[Pascal Error] Main.pas(63): E2066 Missing operator or semicolon
Responder Con Cita
  #5  
Antiguo 15-10-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
¿Que es MsgBox? Supongo que es el nombre del formulario que quieres abrir, comprueba que en tu unidad no tienes declarada ninguna otra variable con el mismo nombre. Por lo demás no parece haber ningún error en la linea que muestras, por que no pones aquí un par de lineas anteriores y posteriores.
Responder Con Cita
  #6  
Antiguo 15-10-2006
Avatar de Ascii1457
Ascii1457 Ascii1457 is offline
Miembro
 
Registrado: oct 2006
Posts: 20
Poder: 0
Ascii1457 Va por buen camino
Bueno, MsgBox es un Form en blanco ( recién creado )... nada mas que eso, y pues no esta declarado en ningún lado MsgBox en el Form1... solo esta declarado en el archivo mismo de MsgBox que es Form2.
Responder Con Cita
  #7  
Antiguo 16-10-2006
Avatar de lag_0
lag_0 lag_0 is offline
Miembro
 
Registrado: jul 2006
Posts: 131
Poder: 18
lag_0 Va por buen camino
Pascal Error] Main.pas(63): E2066 Missing operator or semicolon

no habras puesto ; al final de la uses, si pegas el codigo mejor
Responder Con Cita
  #8  
Antiguo 16-10-2006
Avatar de Ascii1457
Ascii1457 Ascii1457 is offline
Miembro
 
Registrado: oct 2006
Posts: 20
Poder: 0
Ascii1457 Va por buen camino
Bueno... este es el codigo de Main.pas


Código Delphi [-]
unit Main;
interface
uses
//... blablabla ...
type
  TMainWIN = class(TForm)
//... blablabla ...
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  MainWIN: TMainWIN;
  NombrePC: String;
  AudioCargado: Boolean;
implementation
{$R *.dfm}
 
Uses Textos; <- Aquí declaro el nombre del otro formulario
 
//... blablabla...
 
procedure TMainWIN.FormClick(Sender: TObject);
begin
 
Msgbox.ShowModal; <-- Aquí sale el error U_U

end;
 
//... blablabla ...
 
end.

y pues bueno el otro formulario tiene esto Textos.pas...

Código Delphi [-]
unit Textos;
interface
uses
// ... blablabla ...
type
  TMsgBox = class(TForm)
// ... blablabla ...
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  MsgBox: TMsgBox;
implementation
{$R *.dfm}
end.

Estoo... igual cree un proyecto nuevo desde 0... y pues funciona bien, pero en este que les pongo... nop, me da el error @_@

Todooo mal con mi primer código en Delphi *_*

Última edición por Ascii1457 fecha: 16-10-2006 a las 03:45:10.
Responder Con Cita
  #9  
Antiguo 16-10-2006
Avatar de lag_0
lag_0 lag_0 is offline
Miembro
 
Registrado: jul 2006
Posts: 131
Poder: 18
lag_0 Va por buen camino
pues yo no veo ningún error en el codigo que pusiste...
claro que me acabo de despertar ... nosé, la verdad lo veo todo bien
Responder Con Cita
  #10  
Antiguo 16-10-2006
Avatar de lag_0
lag_0 lag_0 is offline
Miembro
 
Registrado: jul 2006
Posts: 131
Poder: 18
lag_0 Va por buen camino
aa bueno, mira si en
Código Delphi [-]
procedure TMainWIN.FormClick(Sender: TObject);
begin
 
Msgbox.ShowModal; <-- Aquí sale el error U_U

end;

hay más codigo antes de la linea del error, que puede que no pegaras, y en ese caso mira que la linea de antes tenga su ; y then, o do o lo que le haga falta.
Responder Con Cita
  #11  
Antiguo 16-10-2006
Avatar de Ascii1457
Ascii1457 Ascii1457 is offline
Miembro
 
Registrado: oct 2006
Posts: 20
Poder: 0
Ascii1457 Va por buen camino
Pues nop... es solo un código para testear, y solo esta eso...

Bueno, de todas formas gracias, y el problema se corrigió volviendo a comenzar de 0 el proyecto, en todo caso no llevaba casi nada =P

Si aparece nuevamente el problema... entonces pegare el código completo para ver que pasa.
Responder Con Cita
  #12  
Antiguo 16-10-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
El problema que veo es que no creas la ventana MsgBox para nada.

Si se arregló el problemas, es porque delphi está Creando la ventana Msgbox desde que arranca tu aplicación y según esa filosofía solamente deberías hacer un Msgbox.Show/ShowModal y despues un Msgbox.Hide.

Si lo que quieres es crear dinámicamente la ventana y liberarla de memoria, lo normal es hacerlo así:
Pon la propiedad Visible de Msgbox a False:
Código Delphi [-]
unit Main;
interface
uses
//... blablabla ...
type
  TMainWIN = class(TForm)
//... blablabla ...
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  MainWIN: TMainWIN;
  NombrePC: String;
  AudioCargado: Boolean;
implementation
{$R *.dfm}
 
Uses Textos; <- Aquí declaro el nombre del otro formulario
 
//... blablabla...
 
procedure TMainWIN.FormClick(Sender: TObject);
begin
 Msgbox := Application.Createform(TMsgbox, Msgbox);
// o bien 
 Msgbox := TMsgBox.Create(Application); // esto es exactamente igual que la línea anterior... sobre gustos... los colores
// o bien
 Msgbox := TMsgBox.Create(MainWin); // Al cerrar el Mainwin, automaticamente se libera el Msgbox
// o si quieres destruirla despues de mostrarla:
 MsgBox := TMsgbox.Create(nil); // nadie destruirá la ventana, nosotros por código lo haremos
Msgbox.ShowModal; <-- Aquí sale el error U_U


 FreeAndnil(MsgBox);// esta línea hace falta si hemos usado TMsgbox.Create(nil); 
end;
 
//... blablabla ...
 
end.

Además deberías ir a View -> Source Code y quitar la línea donde se crea la ventana MsgBox.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 16-10-2006 a las 11:37:02.
Responder Con Cita
  #13  
Antiguo 16-10-2006
Avatar de Ascii1457
Ascii1457 Ascii1457 is offline
Miembro
 
Registrado: oct 2006
Posts: 20
Poder: 0
Ascii1457 Va por buen camino
Holas de nuevo =P

Pues el formulario MsgBox si lo cree... pero algo debió pasar con mi primer código, voy a probar así de curiosidad nada mas a ver si se arregla con lo que me comentas aquí...

Cita:
Además deberías ir a View -> Source Code y quitar la línea donde se crea la ventana MsgBox.


Que me suena a que podría ser...

Pero bueno, ya les vendré a molestar con alguna duda mas adelante, así que muchísimas gracias a todos los que respondieron al post ( y los que lo miraron y pensaron el tema que fuera un segundo >=) ), realmente son geniales. ^_^

Realmente me a parecido increíble esta comunidad, ya que es mi primer mensaje casi y varios han tratado de ayudarme sin pensarlo 2 veces... realmente no podría pedir mejor ayuda =D

Chaus por ahora ; )
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
Abrir nueva ventana y pasar parametros Coco_jac PHP 2 25-08-2006 17:14:16
Cerrar un Form MDI al abrir otro MDI David OOP 7 17-08-2006 18:14:37
Imposible hacer visible un form desde otro form SMTZ .NET 13 16-01-2006 21:41:08
abrir .htm en una nueva ventana con shellexecute ruina API de Windows 5 24-06-2004 19:47:54
Como puedo abrir nueva forma presionando la tecla de funcion F3 luisreg OOP 6 17-09-2003 20:22:25


La franja horaria es GMT +2. Ahora son las 23:29:27.


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