felipe govoni wrote:
> bah to meio perdido fiz o que vc falou joao
> mas agora da o seguinte erro inconpatible type: 'method pointer and regular
> procedure'

Então, você tem que declarar Pintar como um _método_, ou seja, dentro de 
uma classe (TForm, TDataModule, por aí):

procedure TSeuDataModule.Pintar(...);

Depois você associa este método ao evento, sem usar o abre-fecha parênteses.

--
Joao Morais


> 
> 2008/6/9 Joao Morais <[EMAIL PROTECTED]>:
> 
>>   felipe govoni wrote:
>>> blz mas agora da o seguinte erro:
>>> unsatisfied foward or external declaration Tfrmmonitorar.pintar
>> É para alterar o cabeçalho do seu método Pintar, não é para declarar
>> outro cabeçalho sem implementação.
>>
>> - declare Pintar dentro de uma classe (ou seja, um método, e não uma
>> procedure);
>> - coloque o parâmetro Dataset, como eu citei anteriormente. A declaração
>> deste método deve ser igual ao que o evento OnCalcFields espera;
>> - associe este método ao evento OnCalcFields sem colocar o abre-fecha
>> parênteses.
>>
>> --
>> Joao Morais
>>
>>> 2008/6/9 Joao Morais <[EMAIL PROTECTED] <post%40joaomorais.com.br>
>>> :
>>>
>>>> felipe govoni wrote:
>>>>> procedure pintar(Sender: TObject);
>>>>> begin
>>>>> //codigo pra pintar
>>>>> end;
>>>>>
>>>>> e no evento on click
>>>>>
>>>>> dmGeral.qryBaixa.close;
>>>>> dmGeral.qryBaixa.OnCalcFields := pintar();
>>>>> dmGeral.qryBaixa.open;
>>>>>
>>>>> ele da o seguinte erro: not enough actual parameters, mas qual
>> parametro
>>>>> falta colocar?
>>>> declare:
>>>>
>>>> procedure Pintar(Dataset: TDataset);
>>>> ...
>>>>
>>>> e retire os parênteses da procedure ao fazer a associação:
>>>> ...
>>>> dmGeral.qryBaixa.OnCalcFields := Pintar;
>>>> ...
>>>>
>>>> Joao Morais
>>>>
>>>>
>>>
>>>
>>  
>>
> 
> 
> 

Responder a