Ver Mensaje Individual
  #3  
Antiguo 30-09-2004
atirado atirado is offline
Miembro
 
Registrado: mar 2004
Posts: 41
Reputación: 0
atirado Va por buen camino
Thumbs up

Hola, Román! Gracias por la aclaración, y sí tiene mucho sentido como lo dices. Me hicieron llegar un código donde ya pude resolver mi duda, pero se los explico aquí para aquellos que tengan problemas con IntraWeb, el cual veo que no hay mucha gente que lo esté utilizando en este foro
En fin, mi declaración del código estaba correcta:
Código Delphi [-]
chkDefinitivo  := TIWCheckBox.Create(Self);
chkDefinitivo.Tag  := grdDatos.RowCount - 1;
chkDefinitivo.Caption  := '';
grdDatos.Cell[grdDatos.RowCount - 1, 8].Control := chkDefinitivo;
chkDefinitivo.OnClick  := PonerTotales;
chkDefinitivo.Checked  := false;
Sin embargo, era la funcionalidad de IntraWeb la que me había hecho bolas; simplemente se deben cumplir 3 condiciones:
  1. El procedimiento a utilizar en el OnClick, debe ser declarado de la siguiente manera:
    Código Delphi [-]
    procedure PonerTotales(Asender: TObject);
  2. El procedimiento debe estar declarado antes de private o public y ser declarado en type.
    Código Delphi [-]
    type
      TfrmConsultas = class(TIWAppForm)
        txtEncabezado: TIWText;
        lblFInicio: TIWLabel;
        lblFFinal: TIWLabel;
        edtFinicio: TIWEdit;
        edtFFinal: TIWEdit;
        btnConsultar: TIWButton;
        grdDatos: TIWGrid;
        lblTotalRegistros: TIWLabel;
        procedure grdDatosRenderCell(ACell: TIWGridCell; const ARow,
          AColumn: Integer);
        procedure btnConsultarClick(Sender: TObject);
        procedure PonerTotales(Asender: TObject);
      public
      private
        procedure LlenarGridDatos;
    .... {etc]
  3. En el evento OnClick de un componente que se crea dinámicamente, no se llama usando el parámetro ASender, pero si se utiliza en cualquier otra parte del código, debe llamarse usando Self. Ejemplos:
    Código Delphi [-]
    ...
    chkDefinitivo.OnClick  := PonerTotales;
    ...
    PonerTotales(Self);
    ...
Así, se evita el error del compilador, tal cual yo lo veía. Si alguien utiliza IntraWeb en sus aplicaciones (se que algunos todavía recelan de él, pero creanme que es mejor de lo que parece ) y necesita llamar un procedimiento en el evento OnClick, espero le sirva esta aclaración

gracias de nuevo por demostrar que este sigue siendo el mejor foro de Delphi en Español

Salu2 desde MX
Alejandro
Responder Con Cita