[Lazarus-es] devolver valor de un form

Paola Bruccoleri pbruccoleri en adinet.com.uy
Dom Jun 14 02:11:33 CEST 2009


Hola..
gracias por todos los mails..  he estado tb 
leyendo la biblia de delphi7 sobre este aspecto, 
y tiene razón Carlos acerca del uso de 
propiedades para encapsular datos, así que estoy 
intentando utilizar esta forma, pero sin éxito 
todavía, creo que tengo errores en donde estoy 
definiendo las cosas, aunque seguiré leyendo el libro...

a ver...

en el frmlistaclientes, donde estoy haciendo la busqueda, defino esto:

interface
..........
     function FCliId : integer;

   published
     property CliId:integer read FCliId;


implementation
function Tfrmlistaclientes.FCliId : integer;
begin
      Result:= clientes_tbl.FieldValues['id'];
end;



en el otro form donde necesito el código del cliente buscado:
procedure Tfrmfacturacion.codcli_edtButtonClick(Sender: TObject);
var
    f: Tform;
begin
   f:= Tfrmlistaclientes.Create(nil);
   try
      if(f.ShowModal = mrOK) then
        codcli_edt.Text:= f.FCliId();
      else
      end;
   finally
      FreeAndNil(f);
end;

y me salta el error:
identifier idents no member FCliId
illegall expresion..

Muchas gracias de antemano
chauuuuuuuuu

At 10:24 13/06/2009, you wrote:
>Buenas a todos, si se me permite quiciera hacer 
>un par de comentarios con respecto a esta 
>solucion, espero sumar y no incomodar:
>
>1.- Cuando usamos formularios modales y 
>necesitamos retornar un valor sobre la eleccion 
>del usuario, tenemos a nuestra disposicion la 
>propiedad ModalResult. Por ejemplo, le ponemos 
>al form dos TBitBtn uno con ModalResult = mrYes 
>y el otro con ModalResult = mrCancel, entoces hacemos:
>Form := TForm.Create(nil);
>if(Form.ShowModal = mrYes)then
>   Algo
>else
>   OtraCosa
>
>2.- Nunca olvidemos que estamos usando 
>ObjectPascal que es progrmacion orientada a 
>objetos hibrida, no es una buena practica 
>declarar un atributo publico en una clase, para 
>tener el control total deberiamos hacer lo siguiente:
>private
>   ...
>   FArtId:integer;
>   ...
>pubblished
>   ...
>   property ArtId:integer read FArtId; //Solo lectura desde afuera
>   ...





More information about the Lazarus-es mailing list