Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Enviar datos a un IWForm desde mi IWMenu [IWFrame] (https://www.clubdelphi.com/foros/showthread.php?t=34594)

Capo 15-08-2006 00:58:20

Enviar datos a un IWForm desde mi IWMenu [IWFrame]
 
Btardes compañeros.
Uso D7 + IW 7.2.41 + ADO [MSSQL]
Tengo un Mainmenu dentro de un IWFrame, para llamar los IWForm tengo una procedure para llamarlas al estilo del ejemplo Features de las demo:

Código Delphi [-]
procedure TIWFrame1.Show_Form(AFormClass: TIWAppFormClass);
begin
  TIWAppForm(WebApplication.ActiveForm).Release;
  AFormClass.Create(WebApplication).Show;
end;

y en cada Menuitem llamo a dicho procedure y le mando la clase del IWForm:
Código Delphi [-]
  Show_Form(Tregistro_nave_esp);

Tengo un IWform en el cual edito y adiciono informacion y quiero llamar al mismo form para editar o insertar, es decir; en el menu hay dos opciones [1. Editar, 2. Insertar] pero ambas llegan al mismo formulario, he intentado enviarle datos a ese IWform a fin de ke me muestre un IWlabel indicando si esta editando o estas insertando pero no aplica como en la Aplicaciones de escritorio; la pregunta es como le paso datos o params a ese form desde mis diferentes opciones de mi mainmenu??

Gracias++

geovany 15-08-2006 01:09:58

Uso de constructores
 
aqui te va un ejemplito
Código:

public
      varible_string_publica,
    dos  : string;
    constructor Crear(AOwner: TComponent; Forma:TIWFox; variable:string);

Código:

constructor TIWFoy.Crear(AOwner: TComponent; Forma:TIWFox);
begin
  inherited Create(AOwner);
//hago esto o aquello
End;

saludos espero y te sirva

Capo 15-08-2006 15:36:35

Hola Compadre...saludos y gracias de cora por tu valiosa ayuda.
Pana: disculpa pero no entiendo mucho este codigo y es mi intencion conocerlo para aplicarlo:
1. crear un constructor con tres parametros:
Código Delphi [-]
constructor Crear(AOwner: TComponent; Forma:TIWFox; variable:string);

pero al llamarlo le mandas solo dos:
Código Delphi [-]
<div align="left">constructor TIWFoy.Crear(AOwner: TComponent; Forma:TIWFox);
begin
  inherited Create(AOwner);
//hago esto o aquello 
End;div>

Entiendo que este constructor debe ir en mi IWFrame, el cual me permite tener un metodo "crear" en el cual debo inicializar los IWform a los que quiero enviar datos?? cuando escribes: "//hago esto o aquello" te refieres a crear/llamar los IWForms??

El parametro del constructor "Forma" es de tipo: TIWAppForm??

Capo 15-08-2006 18:46:49

Geovany, consegui y probe esto en mi IWFrame y anda bien:
Código Delphi [-]
  public
    { Public declarations }
     registro_nave_esp : Tregistro_nave_esp;
     constructor Create(AOwner: TComponent); override;

y

Código Delphi [-]
constructor TIWFrame1.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  registro_nave_esp := Tregistro_nave_esp.Create(WebApplication);
End;

Pero debí quitar el IWFrame de mi IWForm "registro_nave_esp" pues me generaba un error "[Fatal Error] Crear_Nave.pas(17): Circular unit reference to 'Crear_Nave'"

Como Puedo continuar utilizando mis IWFrame en todos mis formularios y poder hacer referencia a ellos desde mi IWFrame??

geovany 15-08-2006 18:52:48

Cita:

Empezado por Capo
Hola Compadre...saludos y gracias de cora por tu valiosa ayuda.
Pana: disculpa pero no entiendo mucho este codigo y es mi intencion conocerlo para aplicarlo:
1. crear un constructor con tres parametros:
Código Delphi [-]constructor Crear(AOwner: TComponent; Forma:TIWFox; variable:string);


pero al llamarlo le mandas solo dos:
Código Delphi [-]<div align="left">constructor TIWFoy.Crear(AOwner: TComponent; Forma:TIWFox); begin inherited Create(AOwner); //hago esto o aquello End;div>


Entiendo que este constructor debe ir en mi IWFrame, el cual me permite tener un metodo "crear" en el cual debo inicializar los IWform a los que quiero enviar datos?? cuando escribes: "//hago esto o aquello" te refieres a crear/llamar los IWForms??

El parametro del constructor "Forma" es de tipo: TIWAppForm??

Mira lo del numero de parametros fue un error de dedo, y este contructor yo te lo di con la intencion de que este en el formulario que vas a llamar y en el frame vas a poner la llamada con los parametros adecuados

Capo 15-08-2006 20:11:41

Una vez mas gracias, compadre.
No es mi intencion abordarte con esto, y sé que lo haces con la mejor intencion y te lo agradezco. Pero ahora si me perdí, pues el contructor lo pongo en el Iwform que voy a llamar, pero como lo llamo desde mi IWframe?

geovany 15-08-2006 20:34:40

Iw
 
Cita:

Empezado por Capo
Una vez mas gracias, compadre.
No es mi intencion abordarte con esto, y sé que lo haces con la mejor intencion y te lo agradezco. Pero ahora si me perdí, pues el contructor lo pongo en el Iwform que voy a llamar, pero como lo llamo desde mi IWframe?

pues se supone que cuando entras a cierta opcion creas el form que vas a mostrar ahi vas a utiliar el constructor que acabas de hacer

Capo 15-08-2006 21:12:55

Ready profe, ahora si entendí tu explicacion.
desde mi IWFrame lo llamo asi:

Código Delphi [-]
 with Tregistro_nave_esp.Crear(Self) do begin
    IWLabel1.Caption := 'Viva Sinaloa, Mexico';
    IWButton1.Caption := 'Guardar Nueva';
    TIWAppForm(WebApplication.ActiveForm).Release;
    Show;
  end;

Puedo usar el menu en cada IWform y todo en orden.
Pana mio...una vez mas mil gracias.

geovany 15-08-2006 23:06:44

Iw
 
Cita:

Empezado por Capo
Código Delphi [-] with Tregistro_nave_esp.Crear(Self) do begin IWLabel1.Caption := 'Viva Sinaloa, Mexico'; IWButton1.Caption := 'Guardar Nueva'; TIWAppForm(WebApplication.ActiveForm).Release; Show; end;


Puedo usar el menu en cada IWform y todo en orden.
Pana mio...una vez mas mil gracias.

creo k esa no era la manera que te habia dicho peor tambien es otra solucion factible, ademas de que con esa no tienes que tener un nuevo contructor

saludos y estamos pendientes


La franja horaria es GMT +2. Ahora son las 09:40:35.

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