Beleza pessoa?

Bom, eu fiz um trace com ADO, mas estou com dificuldade em capturar os parâmetros com ele. Sempre aparece com ? o que é parâmetro.

Estou usando isso aqui para pegar o trace:

Código:
procedure TfrmPrincipal.adoConexaoExecuteComplete( 
  Connection: TADOConnection; RecordsAffected: Integer; const Error: Error; 
  var EventStatus: TEventStatus; const Command: _Command; 
  const Recordset: _Recordset); 
begin 
 FrmLogSql.AddLog( 
  Command.CommandText, 
  'After '+GetEnumName(TypeInfo(TCommandType),Integer(Command.CommandType)), 
  GetEnumName(TypeInfo(TEventStatus),Integer(EventStatus)), 
  GetEnumName(TypeInfo(TCursorType),Integer(Recordset.CursorType)), 
  GetEnumName(TypeInfo(TADOLockType),Integer(Recordset.LockType)), 
  RecordsAffected); 

end;


Então eu fiz um for simples, na execução da query mesmo, que consegue tanto capturar os parâmetros quanto os valores:


Código:
   if qryModificar.Parameters.Count>0 then 
     for i:=0 to  qryModificar.Parameters.Count-1 do 
     begin 
       vmsg := vmsg + ' '  + VarToStr(qryModificar.Parameters.Items[i].Name); 
       vmsg := vmsg + ':' + VarToStr(qryModificar.Parameters.Items[i].Value); 
     end; 

    ShowMessage(vmsg);
Alguém tem uma idéia de como implementar isso? Ou então montar a query novamente?

Estou usando Delphi 7 e MSSQL 2005