Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Llamar a un form desde un grid (https://www.clubdelphi.com/foros/showthread.php?t=69425)

jafera 17-08-2010 14:30:54

Llamar a un form desde un grid
 
Hola de nuevo.

Tengo una duda con la llamada a un for, os explico:

Tengo dos forms distintos con un JVDBGrid cada uno.
Si le hago click a un campo determinado del grid, abro un nuevo form para escribir el texto de un memo. Hasta aquí todo correcto en el primer form.

Lo que sucede es que como los grids son de dos tablas distintas cuando ejecuto el codigo siguiente en la tabla que le corres ponde va bien.

Código Delphi [-]
 
procedure TF_Memo.Button1Click(Sender: TObject);
begin
        F_ModulDades.Camions_Aux.Edit;
        F_ModulDades.Camions_AuxOBSERVACIONS.Value := Memo1.Text;
        F_ModulDades.Camions_Aux.Post;
        F_Memo.Close;
end;

Me guastaria saber si existe la posibilidad de decirle al form memo, al que llamo que si quien le llama es form1 ejecute el codigo y si es el form2 pues que haga otro código que seria

Código Delphi [-]
 
procedure TF_Memo.Button1Click(Sender: TObject);
begin
        F_ModulDades.Helis_Aux.Edit;
        F_ModulDades.Heliss_AuxOBSERVACIONS.Value := Memo1.Text;
        F_ModulDades.Heliss_Aux.Post;
        F_Memo.Close;
end;

No se si es posible decirle que al hacer click en el boton 1 si llama form1 haga una cosa y si llama for2 otra, owner, parent?

Gracias

Josep

ElDioni 17-08-2010 14:33:36

Puedes modificar la propiedad tag del formulario que abre, si lo llamas desde el form1 ponle un 1 y si la llamas desde el 2 ponle un 2, luego en el activate del form que abres compruebas el valor de tag con un if y ejecutas un código o el otro.

Un saludo.

jafera 17-08-2010 14:37:57

Gracias, se ve que estoy ofuscado como el tiempo y no veo más allá de la nariz.

Josep

Caro 17-08-2010 16:45:12

Hola jafera, también puedes utilizar la propiedad Owner de tu formulario. Cuando crees tu formulario F_Memo, le pones como Owner(propietario) al formulario del que estas llamando:

Código Delphi [-]
  F_Memo := TF_Memo.Create(Self);
  F_Memo.Show;

Y en F_Memo preguntas por su Owner:

Código Delphi [-]
  if TForm(Self.Owner).Name='form2' then
   .................................

Saluditos

jafera 17-08-2010 17:23:03

Gracias Caro.

Lo que estaba buscando era precisamente esto el owner, ayer lo probe pero me faltaba algo en la sintaxis y tu me has iluminado.

Repito mil gracias a todos y prueba superada, a otro reto jejeje...

Josep


La franja horaria es GMT +2. Ahora son las 09:32:31.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi