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:
Y un procedimiento fuera de una clase como:
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.