Fórum Atribuindo Eventos dinamicamente? Quem sabe? #196826
24/11/2003
0
Preciso atribuir um evento dinamicamente, mas dá sempre uma msg de erro na compilação.
Dêem uma olhada:
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
procedure cabec(Sender: TObject);
var
Form1: TForm1;
implementation
{$R *.dfm}
//O evento OnPrintHeader recebe o mesmo parâmetro
procedure cabec(Sender: TObject);
Begin
//apenas um teste
(Sender as Tbasereport).printxy(0,0,´teste´);
end;
procedure TForm1.Button1Click(Sender: TObject);
Var
Rvsys1:TrvSystem;
begin
Rvsys1:=TrvSystem.Create(self);
Rvsys1.OnPrintHeader:=cabec;
Rvsys1.execute;
end;
Qd mando compilar, dá este erro:
Incompatible types: Method pointer and Regular procedure.
Não entendi nada.
Como posso resolver este problema?
Alguem q usa o Rave programado, sabe como fazer para executar o relatório dentro de uma função? Pois é isto q estou tentando fazer.
Obrigado
Aledeol
Curtir tópico
+ 0Posts
24/11/2003
Beppe
Gostei + 0
24/11/2003
Beppe
Respondi na questão errada! :oops:
Um evento só pode receber um método, que é uma rotina dentro de uma classe, então você coloca sua procedure dentro de uma classe.
Então é só puxar cabec pra dentro do form. Ex: TForm1.cabec(...)
Gostei + 0
25/11/2003
Aledeol
Mas mesmo assim, isto não me soa bem.
Deve haver uma outra forma de colocar reports programados do Rave em uma função.
Obrigado
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)