Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Llamar al Formulario padre (https://www.clubdelphi.com/foros/showthread.php?t=3255)

Salomon 29-08-2003 14:41:11

Llamar al Formulario padre
 
Buenaaaaaaaaaaaasssss!!!

Que tal?, tengo una duda, que creo que si se puede hacer pero no se ni como ni donde, a ver si me explico.

Tengo un formulario con un DBGrid, que tira de una tabla, en la tabla tengo varios campos que hacen un monton de cuentas, de ahí que lo haya puesto en el propio formulario, para no llenar de codigo el modulo de datos, bueno continuo, lo dicho, tengo un formulario con un DBGrid, y una TADOQuery de donde tira el Grid, para insertar datos uso otro formulario, y claro hasta que no cierro este ultimo, no puedo actualizar el grid, y mi pregunta es la siguiente;

Puedo actualizar el grid de un formulario desde otro que ha sido llamado por este, es decir, puedo actualizar el Grid del formulario A, desde el formulario B, B es un formulario creado desde A y llamado con un ShowModal.

Muchas gracias anticipadas, y espero haberme explicado con claridad.

SALO

delphi.com.ar 29-08-2003 15:44:33

Si tu pregunta es si puedes crear comunicación entre diferentes objetos, la respuesta es si!... La forma de implementar esta comunicación puede ser de muchas formas, si tu cuando creas un formulario lo asignas a la variable que Delphi te crea por defecto en la interface de las units que contienen los formulario, solo tienes que acceder a esta para llamar a algún método y/o cambiar alguna propiedad. Otra posibilidad es cuando creas el formulario Modal, el owner sea el formulario "padre", solo tendrías que hacer un cast del owner para acceder al padre... De todos modos, como lo que creas es un formulario Modal, puedes depender del resultado del ShowModal para desde el mismo código del formulario padre hacer o no los cambios que tu desees.
Espero no haber sido demasiado explícito, no dudes en consultar..

Saludos!

Paoti 29-08-2003 18:32:48

Hola Delphi.com.ar


y que pasa cuando los formulario se crean en timpo de ejecucion, es decir, el formulario a, lo creo de la siguiente forma:

with Ta.create(self) do show;


y dentro del formulario a creo el formulario b de la siguiente forma:

with ta(.create(self) do show;


como hacer para poder acceder a los valores del formulario a, desde b, si no conozco la variable como se llama a, y para hacer más loco el asunto (para este pobre entendor), estos dormulario se crean las veces que sean necesarios. como solucionar este problema, no entendi lo del cast del owner.




Muchas gracias.



Paoti Rios.

delphi.com.ar 29-08-2003 19:11:43

Si mal no te entiendo, puedes utilizar lo que he comentado anteriormente de utilizar el Owner del form:

Código:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
  with TForm1.Create(Self) do
  try
    ShowModal;
  finally
    Free;
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  if Owner is TForm Then
    TForm(Owner).Caption := Edit1.Text;
end;

end.



La franja horaria es GMT +2. Ahora son las 11:29:01.

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