Ver Mensaje Individual
  #3  
Antiguo 06-03-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 31
Lepe Va por buen camino
A ver, y digo yo. Ya tienes la tabla dentro de una ventana, useasé la clase TfChildPedidoEntrada, ¿por qué no creas el evento ahí mismo y después dentro, llamas a la rutina que más te guste?, reusas código, no creas un objeto que no necesitas, y reusas la rutina, vamos, algo tan simple como esto:

Código Delphi [-]
unit pedidos_entrada;
 
interface
 
uses
db,dialogs, libedicom
 
type
  TfChildPedidoEntrada = class(TForm)
    private
       mitabla : TTable;
       procedure MiEventoChulo(Sender: TField; var Text: string; DisplayText: Boolean);
   end;
....
 
procedure TfChildPedidoEntrada.MiEventoChulo(Sender: TField; var Text: string; DisplayText: Boolean);
begin
  libedicom.FormatearEstadoEdi(Sender, text,DisplayText);
end;

procedure TfChildPedidoEntrada.FormShow(Sender: TObject);
begin
    miTabla.fieldbyname('estado').OnGetText :=  MiEventoChulo;
end;

El por qué no te deja compilar es bien simple. un evento está declarado como:
Código Delphi [-]
procedure of object
Y un procedimiento fuera de una clase como:
Código Delphi [-]
procedure

La diferencia es que se usan técnicas distintas para identificar a cada uno de ellos, por tanto, da el error de tipos distintos.

Para quien quiera saberlo:
- Para identificar un procedure se usa un puntero de 4 bytes (32 bits)
- Para identificar un procedure of object se usa dos punteros de 4 bytes (64 bits).

Saludos

Saludos.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita