Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-04-2010
Kandorf Kandorf is offline
Miembro
 
Registrado: may 2007
Posts: 38
Poder: 0
Kandorf Va por buen camino
Devolver valor al cerrar formulario

Buenas, supongo que es una duda que han planteado varias veces, pero no he conseguido encontrar respuesta de ninguna manera, sorry.

Tengo un formulario padre que llama a un formulario hijo, en este introduzco una cadena de texto en un edit. Lo que me gustaría es que al pulsar el botón de aceptar en el hijo devuelva el valor introducido como String. He estado mirando la propiedad ModalResult, pero creo que es para devolver valores del tipo Yes, No, Cancel, etc.
Se me ha ocurrido crear una variable pública en el padre, pero me parece una solución cutre, además me gustaría llamar al hijo desde diferentes formulario.

Un saludo y gracias por leerme.
Responder Con Cita
  #2  
Antiguo 12-04-2010
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Crea una propiedad pública en el formulario hijo a la que le asignas el valor del edit en el evento OnClose (verificas que ModalResult sea mrOk). No permitas que el formulario hijo se autodestruya, es decir, no pongas Action := caFree en el evento OnClose.

En el código que llama al formulario hijo, después de que termina ShowModal pero antes de destruir el formulario hijo, lees la propiedad mencionada arriba.

// Saludos
Responder Con Cita
  #3  
Antiguo 12-04-2010
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 913
Poder: 23
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Yo utilizo esta forma:

Código Delphi [-]
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Edit1:TEdit;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

Function Execute(Parametros:String):String;

var
  Form1: TForm1;

implementation

{$R *.dfm}

Function Execute(AParametros:String):String;
Begin
      With TForm1.Create(Application) Do
      Begin
             Edit1.Text:=AParametros;
             Result:='';
             If ShowModal=mrOk Then 
                Result:=Edit1.Text

             Free;
      End;
End;
end.

Desde el Form Padre llamo:
Código Delphi [-]
Var    
    sValor:String;
Begin
     sValor:=Unit1.Execute('Parametros');
end;

Saludos...
Responder Con Cita
  #4  
Antiguo 12-04-2010
Kandorf Kandorf is offline
Miembro
 
Registrado: may 2007
Posts: 38
Poder: 0
Kandorf Va por buen camino
Muchas gracias a los dos por vuestra ayuda, ya puedo seguir con ese tema

Saludos.
Responder Con Cita
Respuesta



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
Devolver el valor de una clave principiante22 Varios 4 03-09-2008 03:13:42
Cambiar propiedad de componente del formulario padre al cerrar el formulario hijo jzginez OOP 5 22-06-2007 21:40:51
Devolver Valor de un Caption muli OOP 2 24-04-2007 20:21:32
Devolver sólo el primer valor de una 2ª tabla gluglu SQL 2 05-01-2006 09:44:41
IBSQL puede devolver un valor haciendo INSERT? altp SQL 2 04-10-2003 22:09:49


La franja horaria es GMT +2. Ahora son las 16:05:02.


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