Fórum After Open: adicionar parâmetro ao evento #330767
05/10/2006
0
Desejo configurar os TFields de um SQLQuery no AfterOpen, especificamente os ProviderFlags. Até aí, nenhum problema (já testei e funcionou perfeitamente). Ocorre que as configurações estão em um IniFile, que desejo passar por parâmetro, juntamente com o Dataset.
Alguém sabe como reescrever o evento?
[color=darkblue:d17858b94d][b:d17858b94d]SQLQuery1AfterOpen(Dataset: TDataset; IniFile: TIniFile)[/b:d17858b94d][/color:d17858b94d]
Grato pela atenção!
Henrique
José Cordeiro
Curtir tópico
+ 0Posts
05/10/2006
Massuda
Gostei + 0
05/10/2006
José Cordeiro
Pensei em:
a) Criar um novo evento (talvez derivado de TDatasetNotifyEvent);
b) Atribuir AfterOpen:=<meu evento>, em vez de apontar para o evento nativo da VCL.
Não tenho a menor idéia da possibilidade nem da complexidade da tarefa.
Consegui o resultado desejado criando uma variável privada do tipo TIniFile e atribuindo a ela o arquivo desejado, imediatamente antes de abrir o dataset. Funciona, mas não é o ideal, não é?
Grato pela atenção
Gostei + 0
05/10/2006
Massuda
[quote:7def5df05a=´José Henrique Cordeiro´]Consegui o resultado desejado criando uma variável privada do tipo TIniFile e atribuindo a ela o arquivo desejado, imediatamente antes de abrir o dataset. Funciona, mas não é o ideal, não é?[/quote:7def5df05a]Normalmente usa-se um membro privado (uma variável declarada na parte private) do form ou data module para isso. é mais fácil de fazer e de entender.
Gostei + 0
06/10/2006
José Cordeiro
A criação de uma classe derivada de TSQLQuery é boa. Mas acho que o uso da Tag é menos trabalhoso e atende perfeitamente, não acha?
[]s
Henrique
Gostei + 0
06/10/2006
Massuda
Eu evito usar Tag porque as vezes eu encontro alguns usos inesperados para essa propriedade. Nem sempre fica claro, especialmente quando não foi você que escreveu o código, qual a finalidade de usar essa propriedade.
Gostei + 0
06/10/2006
José Cordeiro
Grato pela atenção!
Henrique
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)