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 14-12-2006
Mc_Hacks Mc_Hacks is offline
Miembro
 
Registrado: nov 2006
Posts: 11
Poder: 0
Mc_Hacks Va por buen camino
Problemas al abrir un formulario

hola miren mi problema es el siguiente tengo un menu en el cual tenco un item el que esta enlasado a un ActionList:TactionList en el cuan tenfo una categoria articulos y un i un action ProduAgrega que es su Evento :OnExecute invoco a ProduAgregaExecute

aca dejo el codigo que tengo en ese evento

Código:
procedure TwndPrincipal.ProduAgregaExecute(Sender: TObject);
begin

    wndAgregaArticulo.Show;
    
end;
el problema es que, cuando hago correr la aplicacion no me abre el Form que invoco en este caso wndAgregaArticulo. llevo dos semanitas recien en delphi asi que si alguien me puede orientar se le agradecera
Responder Con Cita
  #2  
Antiguo 14-12-2006
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
¿Has creado una instancia de ese form?... Recuerda que los forms son objetos del tipo TForm o derivados, que por defecto el IDE nos crea una variable con el nombre del form, para que hagamos referencia a ella pero no necesariamete esa variable contenga una instancia de la clase.
Hay varias formas de hacerlo, una de ellas es crear la instancia cada vez que la necesitemos:
Código Delphi [-]
procedure TwndPrincipal.ProduAgregaExecute(Sender: TObject);
begin
  wndAgregaArticulo := TwndAgregaArticulo.Create(Self);   
  wndAgregaArticulo.Show; 
end;
En este caso tendríamos que hacer que el propio form se autodestruya cuando se cierre, utilizadon el parámetro Action del OnClose del form = caFree.

O podríamos hacer que el form se autocree cuando inicia la aplicación. (Siempre evaluando anteriormente el costo de esto). En el archivo del proyecto tendría que existir alguna línea como:
Código Delphi [-]
  Application.CreateForm(TwndAgregaArticulo, wndAgregaArticulo);
Puedes configurar para que el IDE se encarge de agregar esta línea en forma automática para todos los forms y datamodules desde el menú: Tools \ Enviroment Options \ Designer \ Module creation Options \ Autocreate forms & data modules.

¿Por casualidad tu origen fue Visual Basic?...

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 14-12-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola Mc_Hacks
Esencialmente lo mismo que dice delphi.com.ar
Código Delphi [-]
procedure TwndPrincipal.ProduAgregaExecute(Sender: TObject);
begin
   wndAgregaArticulo:=TwndAgregaArticulo.Create(self);
   try
    wndAgregaArticulo.ShowModal;
   finally
   wndAgregaArticulo.Free;
   end;
end;
Lo crea y lo libera.
Saludos
Responder Con Cita
  #4  
Antiguo 14-12-2006
Mc_Hacks Mc_Hacks is offline
Miembro
 
Registrado: nov 2006
Posts: 11
Poder: 0
Mc_Hacks Va por buen camino
un no funciona probe el codigo de los dos y nada eso si ahora ubiu un avance con el codigo de Caral me abre el form pero me da un error en

wndAgregaArticulo.ShowModal;

que sera

Última edición por Mc_Hacks fecha: 14-12-2006 a las 22:31:55.
Responder Con Cita
  #5  
Antiguo 14-12-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Es curioso que necesites crear la aplicacion de un simple form, habria que ver como creas este form, si en tiempo de ejecucion o como.
Para abrir o mostrar un form basta con hacer un show de este, tambien dependiendo de si modificaste el project options.
Bueno, sigo insistiendo, es curioso, a mi nunca me ha ocurrido algo semejante.
Me parece, que deberias explicar como creaste el form, asi quedaria mas claro para otros foristas que vean este hilo.
Saludos
Responder Con Cita
  #6  
Antiguo 14-12-2006
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Cuando "te da un error" es muy importante que nos cuentes el mensaje del error. ¿Será que estas llamando a una variable de una unit que no estas usando? ( uses Unit )
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #7  
Antiguo 14-12-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola Mc_Hacks
Esta es una suposicion:
Tenemos que llamar a un form, desde otro.
Si fuera el caso, intenta hacerlo desde un boton, a ver que pasa, me parece que por la sentencia que usas, hay algun otro procedimiento involucrado.
Insisto si es solo cuestion de llamar a un form, las sentencias tanto de delphi.com.ar, como la mia deberian funcionar.
Para mi el error lo da por que no se ha creado el form primero, en tiempo de ejecucion, no se digo.
Saludos
Responder Con Cita
  #8  
Antiguo 14-12-2006
Mc_Hacks Mc_Hacks is offline
Miembro
 
Registrado: nov 2006
Posts: 11
Poder: 0
Mc_Hacks Va por buen camino
gracias amigos he solucionado el problema a final use este codigo

Código Delphi [-]
procedure TwndPrincipal.ProduAgregaExecute(Sender: TObject);
begin
  wndAgregaArticulo := TwndAgregaArticulo.Create(Self);   
  wndAgregaArticulo.Show; 
end;

ya que el de Caral me da error

Código Delphi [-]
procedure TwndPrincipal.ProduAgregaExecute(Sender: TObject);
begin
   wndAgregaArticulo:=TwndAgregaArticulo.Create(self);
   try
    wndAgregaArticulo.ShowModal; // (error)
   finally
   wndAgregaArticulo.Free;
   end;
end;

lo que me faltaba era asociar el action en el item del mainmenu
muchas gracias por su ayuda se les agradece

Última edición por dec fecha: 15-12-2006 a las 00:04:34.
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
abriri pdf con PDFToolkit gilberto_1126 Varios 5 07-10-2006 01:59:52
Problema al Cerrar Form serhasae Varios 3 28-04-2006 21:02:33
problema de edicion en una Form thrys Conexión con bases de datos 1 08-09-2005 01:52:28
Problema al cerrar form Iseberiano Varios 4 08-06-2005 21:50:17
Problema tamaño form chele Varios 9 22-04-2004 12:45:11


La franja horaria es GMT +2. Ahora son las 04:23:11.


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