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 19-12-2009
Robin1 Robin1 is offline
Miembro
 
Registrado: nov 2009
Posts: 14
Poder: 0
Robin1 Va por buen camino
Sobre llamar procedimientos desde otros Form.

Hola a todos, y un gran saludo.

Estuve buscando por el foro, sobre un modo, específico, para llamar un procedimiento declarado en un Form, desde otro form, y la verdad, no he podido encontrar específicamente un post, que me ayude a resolver el pequeño problema que me ocupa.

Haber si puedo explicarlo de forma clara.

En el Form1, tengo declarado un procedimiento, que, en tiempo de ejecución, crea un nuevo Tab en el formulario.

En el Form2, necesito poner un botón, que llame a ese procedimiento de crear un Tab en tiempo de ejecución, YA declarado en el form1, como si ese procedimiento, ubiese sido llamado de forma nativa desde su propio Form.

De este modo, para lograrlo, he intendo con esto, tomando elgunos elementos que he visto en los diferentes Post, que he estado visitando en búsqueda de ayuda:

En el Form1, tengo mi procedimiento para crear este nuevo Tab, en tiempo de ejecución:

Código:
procedure TForm1.NewTab1Click(Sender: TObject);
begin
NewTab := TTabSheet.Create(Self);  //Se crea la nueva pestaña
  NewTab.Caption := '   Tab   ' + IntToStr(PageControl1.PageCount + 1); 
end;
Entonces, cada vez que en ese mismo Form1 clickeo esta opcion, se creará en tiempo de ejecución el nuevo Tab.

Hasta ahí, no habría problema. Todo funciona perfectamente, puesto que el procedimiento está escrito y declarado en el Form1 y todo de momento, sucede en este mismo Form.

Ahora bien, en el Form2, quiero poner un botón, que haga lo mismo, pero aplicabdole esta acción, al mismo Form1, es decir, que si ejecuto este procedimiento en el Form2, el Form1 cree un nuevo Tab.

Que he tratado de hacer entonces en el Form2:

Código:
procedure TForm2.BtnNewTabForm1Click(Sender: TObject);
begin
begin
   Form1:= TForm1.Create(application);
    Form1.ShowModal;
     Form1.NewTab1Click(sender);
      Form2.Close;
El programa que hace entonces:

Crea una nueva del Form1 (adicional a la que ya hay), y efectivamente crea en tiempo de ejecución un nuevo tab, y el Form 2 se cierra.

Al cerrar este nuevo Form1, se crea una Excepción, que hace referencia a lo siguiente:

EInvalidOperation with message Cannot Focus a disable or invisible Window'.

Comentarios finales:

1) No quisiera que en tiempo de ejecucion, se cree una nueva instancia del Form1. Finalmente este ya está anteriormente abierto. No deseo crear otro.

2)¿Es posible sobre el Form1 que ya está abierto en tiempo de ejecución, se ejecute este procedimiento?

3) Qué genera dicha excepcion al intentar cerrar esta nueva instancia del form1 creado?

Ojalá pudiesen ayudarme. Es de momento, lo ultimo que me faltaría, para poder entregar este proyecto.

Mil gracias, y un gran saludo.

Julián.
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
llamada a método de Form desde otros Forms Bauhaus1975 Varios 4 19-12-2008 22:07:42
llamar al evento click de un boton q se encuentra en un form desde otro form TURBOIGOR OOP 6 02-12-2008 14:50:16
Como llamar form desde otros form y regresar a la linea que se estaba ejecutando Willy Rodrigo C++ Builder 1 03-08-2007 19:36:23
llamar a procedimientos desde otro form David OOP 8 06-09-2006 18:28:12
Llamar una form desde otra form!!! niogon Varios 2 30-09-2004 16:09:17


La franja horaria es GMT +2. Ahora son las 01:27:14.


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