Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Ejecutar método de Form1 en Form2 (https://www.clubdelphi.com/foros/showthread.php?t=84519)

JM1985 29-10-2013 16:33:21

Ejecutar método de Form1 en Form2
 
Hola buenos días.
Como puedo ejecutar un método que se encuentra en el form1 activo desde el form2

Tengo un método que se llama LlenarGrid() en el form1 cuando agrego un nuevo registro en el formulario de captura que es en el form2
quisiera refrescar el grid que se encuentra en el form1, la carga de los datos se encuentra en el método LlenarGrid().

Eh puesto en el cpp el h del form 1 y el nombre del form1.metodo()
pero me marca un error de read y no eh podido solucinar este detalle.

Muchas gracias. Saludos.

ecfisa 29-10-2013 16:56:42

Hola JM1985.

Si no entendí mal tu planteo, tendrías que incluir la unidad del primer form en la unidad del segundo.

Como ejemplo:
Código:

...
#include "Unit1.h" // (Form1)
...

void __fastcall TForm2::Button1Click(TObject *Sender)
{
  Form1->DBGrid1->Refresh();
}

Saludos :)

JM1985 29-10-2013 17:02:35

Hola ecfisa


Si eso eh realizado hasta el método lo tengo publico pero nada mas no invoca al método.

Alguna otra razón podría ser ?

Casimiro Noteví 29-10-2013 17:31:40

Pon tu código, no podemos adivinar :)

JM1985 29-10-2013 19:49:29

3 Archivos Adjunto(s)
Mira aquí pongo las imágenes de echo quiero cambiarle el caption para probar y nada ni eso puedo hacer :S.

JM1985 29-10-2013 19:50:35

En el Form2 tengo el h del Form1

y hablo al formulario para cambiarle el caption y nada no lo hace le doy refresh y me marca el error.

ecfisa 29-10-2013 20:21:21

Hola JM1985.

Por mas que aplico zoom al navegador no logro leer el código, sería mejor que lo copiaras y pegaras aquí. Es mas legible si encerras tu código entre etiquetas code:

[code]
aquí el código C++
...
[/code]

Saludos :)

Casimiro Noteví 29-10-2013 20:21:35

Si no es muy extenso el código, cópialo aquí, ya sabes.
Recuerda poner los tags al código fuente, ejemplo:



Gracias :)

JM1985 29-10-2013 21:37:51

Esto lo tengo en el cpp del Form 2

#include "UListaDeClientes.h"

En el constructor del formulario 2

FrmClientes->Caption = "Nuevo Caption"; Aquí no me marca error pero no realiza nada
TFrmClientes * FrmListaClientes;
FrmListaClientes->Caption = "Caption"; Aquí me marca error.


Esta es la clase definida en el form1
class PACKAGE TFrmClientes : public TForm

Casimiro Noteví 29-10-2013 21:48:03

¿No has visto la indicación de ecfisa y mia, sobre el código? ;)

JM1985 29-10-2013 21:57:49

Esto lo tengo en el cpp del Form 2

Código:

#include "UListaDeClientes.h"
En el constructor del formulario 2
Código:

  FrmClientes->Caption = "Nuevo Caption"; Aquí no me marca error  pero no realiza nada
  TFrmClientes * FrmListaClientes;
  FrmListaClientes->Caption = "Caption";  Aquí me marca error.

Esta es la clase definida en el form1
Código:

class PACKAGE TFrmClientes : public TForm

Creo que así era no ?? Disculpen por el detalle del código.

ecfisa 29-10-2013 22:14:30

Cita:

Empezado por JM1985 (Mensaje 469076)
Esto lo tengo en el cpp del Form 2

#include "UListaDeClientes.h"

En el constructor del formulario 2

FrmClientes->Caption = "Nuevo Caption"; Aquí no me marca error pero no realiza nada
TFrmClientes * FrmListaClientes;
FrmListaClientes->Caption = "Caption"; Aquí me marca error.


Esta es la clase definida en el form1
class PACKAGE TFrmClientes : public TForm

Hola JM1985.

Pero eso es un asunto totalmente diferente a lo que consultaste en el mensaje #1... :rolleyes:

Para entendernos mejor, ¿ Cuales son los nombres de ambos formularios ? ¿ FrmClientes es el formulario que contiene la grilla o es el que se llama desde el primer form para ingresar los datos ?

Saludos :)


La franja horaria es GMT +2. Ahora son las 19:53:34.

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