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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-08-2011
ivantj24 ivantj24 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 110
Poder: 14
ivantj24 Va por buen camino
Arreglo de formularios, no se por que no funciona mi codigo :(

Holas que tal, expongo mi problema el cual en teoria esta bien planteado pero no se por que no funciona, lo que requiero es al crear un formulario, que se carguen todos los nombres de los formularios que uso dentro de un arreglo para despues trabajar con los formularios, declaro de esta forma los formularios dentro de un arreglo:

Cita:
public
Forms : array[0..6] of Tform;

//en el Oncreate del form princiopal, se genera el array con todos los forms, dentro:
procedure TfrmPrincipal.FormCreate(Sender: TObject);
begin

Forms[0]:= frmUsuarios;
Forms[1]:= frmGasolineros;
Forms[2]:= frmEstaciones;
Forms[3]:= frmDepartamentos;
Forms[4]:= frmServiciosCategorias;
Forms[5]:= frmServicios;
Forms[6]:= frmTickets;
end;


y lo que pretendo hacer despues, ya une vez creado el arreglo con los nombre de mis formularios, lo que quiero es:

crear formularios, clientes, departamentos, servicios... etc etc etc

pero solo requiero un formulario activo, si un formulario esta creado, y si le doy de nuevo al boton para que se cree ese mismo formulario hago que se muestre, que resalte de nuevo el formulario ya creado, pero si quiero crear un formulario aparte del que tengo, la idea es que se elimine el anterior y me cree el nuevo.

si tengo formClientes creado, al darle al boton para que me cree el formDepartamentos, la idea es que elimine primero el formclientes, y se cree unicamente el formDepartamentos, para ello primero lo que intente fue saber que formulario estaba creado para eliminarlo y despues crear el nuevo y este fue mi codigo:

Cita:
var
i : integer;
begin
for i := 0 to 6 do
begin
//SI NO ESTA CREADO, QUE NO HAGA NADA
if not Assigned(Forms[i]) then
begin
//NO HACE NADA
end
else
{PERO SI YA ESTA CREADO UN FORMULARIO DIFERENTE, ENTONCES QUE SE ELIMINE, CON ELLO PRETENDO QUE SE ELIMINEN TODOS LOS FORMULARIOS QUE ESTEN ANTERIORMENTE ABIERTOS, CUALQUIERA QUE SEA, POR ESO USO EL CICLO FOR PARA QUE HAGA UN RECORRIDO EN TODOS}
Forms[i].Close;
end;
end;
entonces esa es mi idea, determinar cual esta creado y me lo elimine, y si es que ya esta creado, que lo resalte, Onshow, eso es lo que hago, pero mi problema como les decia, es que nombrando:

Forms[i]

nunca me lo toma como un formulario, en el Forms[i] deberian de estar todos los nombres de los formularios pero al parecer no lo estan, entonces no me cierra ni uno y se abren todos los formularios sin cerrarse los anteriores ya abiertos, bueno espero me puedan ayudar, a determinar si esta bien arreglo declarado, y saber por que nome elimina todos los formularios anteriores ya abiertos.
Responder Con Cita
 



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
codigo comun entre distintos formularios federiconqn21 Varios 5 27-11-2007 16:22:11
Error en codigo, ¿como lo arreglo? jorgegetafe Varios 8 13-02-2007 16:02:30
No me funciona el código de ordenar campos por titulo Nbull Conexión con bases de datos 1 10-04-2006 18:52:15
Codigo Printer no me funciona JOMABRI Impresión 0 11-06-2004 21:51:15
Por que no funciona este codigo en XP? kia Varios 3 15-10-2003 21:39:33


La franja horaria es GMT +2. Ahora son las 09:25:19.


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