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 19-01-2012
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Poder: 18
mjjj Va por buen camino
Crear Form en tiempo de ejecución

Amigos, tengo un problemita, estoy creando un TForm tipo fsMDIChild en tiempo ejecucion con el siguiente código.

Código Delphi [-]
var form: Tform;
begin
Form := FindComponent ('Proveedores') as TForm;
if Assigned (Form) then Form.BringToFront
else
begin
    Form := Tproveedoresform.Create(self);
    Form.Name := 'Proveedores';
end;

Hasta aquí todo bien, el problema surge cuando desde otro form (puede ser el principal o algún otro), quiero ejecutar alguna acción en el form creado en ejecucción.

Al parecer no se cual es el nombre del form creado, a pesar que tiene el nombre proveedores... Como puedo identificar el nombre real??

Es este el problema?

Gracias.
Responder Con Cita
  #2  
Antiguo 19-01-2012
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Poder: 18
mjjj Va por buen camino
Un ejemplo cuando ocurre el problema, este codigo ejecutado desde un boton del formulario principal, el dmMainForm

Código Delphi [-]
uses proveedores; {nombre del formulario que se crea en tiempo de ejecucion}
.
.
.
 
procedure Tmainform.Button1Click(Sender: TObject);
begin
proveedoresform.Button1.Caption := 'hola';
end;

Que podrá ser?
Como lo resuelvo?

Gracias
Responder Con Cita
  #3  
Antiguo 19-01-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola mjjj.

Probá de este modo:
Código Delphi [-]
type
  TfrmMain = class(TForm)
   ...
  private
    function GetForm(AName: string): TForm;
  ...
  end;
...

implementation
...

function TfrmMain.GetForm(AName: string): TForm;
var
  i: Integer;
begin
  Result:= nil ;
  for i:= MDIChildCount-1 downto 0 do
    if MDIChildren[i].Name = AName then
      Result:= MDIChildren[i];
end;
...

LLamada de ejemplo:
Código Delphi [-]
procedure TfrmMain.Button1Click(Sender: TObject);
begin
  GetForm('Form2').Caption:= 'Nuevo Caption';
  GetForm('Form2').Color:= clLime;
  ...
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
Cambiar el Caption de un Form en tiempo de ejecucion kikodelphi OOP 5 14-01-2012 22:54:22
Mover un panel en tiempo ejecución por el form CarlosAlberto Varios 3 10-08-2011 10:16:53
Crear o duplicar form en tiempo de ejecucion odrack Varios 8 31-12-2008 19:35:19
Crear Form en tiempo de Ejecución harvicoco Varios 3 28-06-2006 14:55:05
Obtener Componentes de un form en tiempo de ejecucion el-Cubil.com.ar Varios 2 21-10-2005 18:22:11


La franja horaria es GMT +2. Ahora son las 15:03:57.


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