Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-01-2016
JuanOrtega JuanOrtega is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 130
Poder: 13
JuanOrtega Va por buen camino
Acceder a un segundo formulario desde una Unit

Hola estoy haciendo una unit para poder acceder al control de un segundo formulario , en este caso , un formulario secundario About , el tema es que estoy llamando a la funcion change_title() del unit "effects" para cambiar el titulo del about sin ningun problema , el tema es que este codigo no resuelve nada porque no reconoce ni el nombre del formulario que esta especificado en una variable.

El codigo :

Código Delphi [-]
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls,
  DH_Form_Effects, Vcl.ExtCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
  IdTCPClient,FormAbout,effects;

procedure TForm1.Form_NowClick(Sender: TObject);
var
  name_unit:string;
  name_form:string;
begin
    name_unit := 'FormAbout';
    name_form := 'About';

    change_title(FormAbout,About); // Call function of unit 'effects'
  end;

end;

Unit effects :

Código Delphi [-]
unit effects;

interface

uses Windows, Vcl.Forms, Vcl.StdCtrls, Vcl.ExtCtrls;

procedure change_title(name_unit: string; name_form: string);

implementation

procedure change_title(name_unit: string; name_form: string);
begin
  name_unit.name_form.Caption := 'testing';
  // FormAbout.About.Caption := 'testing';
end;

end.

¿ Como soluciono este problema ?
Responder Con Cita
  #2  
Antiguo 08-01-2016
Avatar de Caminante
Caminante Caminante is offline
Miembro
 
Registrado: oct 2010
Ubicación: Lima - Peru
Posts: 338
Poder: 14
Caminante Va camino a la fama
Hola
Código Delphi [-]
procedure change_title(Aform: TForm); begin   AForm.Caption := 'testing'; end;

Uso


Código Delphi [-]
change_title(About);//About es el formulario
__________________
Caminante, son tus huellas el camino y nada más; Caminante, no hay camino, se hace camino al andar.
Antonio Machado
Responder Con Cita
  #3  
Antiguo 08-01-2016
Avatar de BDWONG
BDWONG BDWONG is offline
Miembro
NULL
 
Registrado: nov 2013
Posts: 113
Poder: 11
BDWONG Va por buen camino
Hola porque no le pasas por parametro a la funcion change_title() la referencia del objeto TFORM
algo asi:

Código Delphi [-]
unit effects;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils,Forms;

procedure changeTitle(form:TForm; name_form:String);
implementation

procedure changeTitle(form:TForm; name_form:String);
begin
   form.Caption:=name_form;
end;

end.



Este es el primer formulario tiene dos botones el primer para ejectuar la segunda ventana y el segundo
boton para cambiar el titulo de la segunda ventana

Código Delphi [-]
var
  Form1: TForm1;

implementation

{$R *.lfm}

uses
  Unit2,effects;

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
begin
   //boton que ejecuta la ventana
   Unit2.Form2.ShowModal;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  //boton que cambia el nombre de la ventana
   changeTitle(Form2,'he sido cambiado');
   ShowMessage('Nombre cambiado correctamente');
end;

end.


Obviamente yo estoy suponiendo que ya tienes las dos ventanas creadas en tu proyecto y la unit llamada effects
el ejemplo esta hecho en lazarus 1.4 pero me imagino que no tendra problemas en funcionar en Delphi
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Acceder a procedure en dpr desde unit frangarrob Varios 7 03-08-2012 13:40:55
Cambiar propiedades de componentes desde un segundo form cmfab Varios 3 31-08-2011 18:37:33
como acceder a los controles de un formulario desde otro _CALI Varios 14 20-11-2010 03:23:28
Mejor evento para mostrar un segundo formulario franfl C++ Builder 5 16-04-2008 21:33:44
Acceder desde un Frame a su formulario rafita Varios 4 07-03-2007 16:29:38


La franja horaria es GMT +2. Ahora son las 12:32:33.


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