[firebase-br] Timer em UDF
Carlos H. Cantu
listas em warmboot.com.br
Ter Abr 12 14:41:07 -03 2005
Não faça isso! Quando uma UDF é chamada, o servidor fica esperando o
resultado dela para continuar o processamento. Colocar um timer dentro
de uma UDF é pedir pra ter dor de cabeça.
[]s
Cantu
http://www.warmboot.com.br
FireBase - http://www.FireBase.com.br
AT> Ola amigos...
AT> Estava tentando colocar um TIMER dentro de uma UDF para
AT> realizar algumas operacoes independente de uma chamada às funções
AT> da UDF. Qual não foi a minha surpresa ao perceber que o timer
AT> simplesmente não dispara....
AT> O código ficou mais ou menos assim:
AT> type
AT> TMeuTimer = class(TComponent)
AT> private
AT> Timer: TTimer;
AT> procedure OnTimer(Sender: TObject);
AT> public
AT> constructor Create(AOwner: TComponent); override;
AT> destructor Destroy; override;
AT> end;
AT> var
AT> MeuTimer : TMeuTimer;
AT> constructor TMeuTimer.Create(AOwner: TComponent);
AT> begin
AT> inherited Create(AOwner);
AT> Timer := TTimer.Create(Self);
AT> Timer.OnTimer := OnTimer;
AT> Timer.Interval := 3000;
AT> Timer.Enabled := True;
AT> end;
AT> destructor TMeuTimer.Destroy;
AT> begin
AT> Timer.Free;
AT> Timer := nil;
AT> inherited Destroy;
AT> end;
AT> procedure TMeuTimer.OnTimer(Sender: TObject);
AT> begin
AT> DeleteFile('C:\Temp.txt');
AT> end;
AT> initialization
AT> MeuTimer := TMeuTimer.Create(nil);
AT> finalization
AT> MeuTimer.Free;
AT> MeuTimer := nil;
AT> O interessante, é que tenho certeza de que a classe está
AT> sendo criada, mas o timer não dispara, como se o FIREBIRD não
AT> permitisse THREADs em UDFs....
AT> Alguém já tentou fazer algo do tipo?
AT> []'s
AT> Alexandre Trindade
AT> Analista de Sistemas
AT> ______________________________________________
AT> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
AT> Para editar sua configuração na lista, use o endereço
AT> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
AT> Para consultar mensagens antigas:
AT> http://search.gmane.org/search.php?groupirebase
Mais detalhes sobre a lista de discussão lista