Array
(
)

Guardar query em array

Jubrovolski
   - 11 mar 2006

Bom dia Pessoal
Estou tentando guardar uma query um uma array de query ( utilizo o IBOxFirebird).

vmatsqls: array [0..150] of String;
vmatquery: array [0..150] of Tib_query;


procedure guardaquery(vtabela: Tib_query);
var i : integer;
vquery: tib_query;
begin
for i := 0 to length(vmatsqls)-1 do
begin
if vmatsqls[i] = ´´ then
begin
vmatsqls[i] := vtabela.name;
vquery:=vtabela;
vmatquery[i] := vquery;
exit;
end;
end;
end;

blz até ai funciona
depois crie um clausula where para a tabela, no caso vtabela referenciada acima, e executo um ´filtro´.
também até ai blz.
porém quando faço um limpaquery( procedure abaixo ) a query em vmatquery[i] está com o contéudo da query utilizada no filtro.

procedure limpaquery(vtabela: tib_query;vrzordem: Trzcombobox;vordem:integer);
var i : integer;
begin

for i := 0 to length(vmatsqls)-1 do
begin
if vmatsqls[i] <> ´´ then
begin
if alltrim(uppercase(vmatsqls[i])) = alltrim(uppercase(vtabela.Name)) then
begin
vtabela.ApplyUpdates;
vtabela.close;
vrzordem.ItemIndex := vordem-1;
vtabela:=vmatquery[i]; // aqui vmatquery[i] esta com o conteudo do filtro.
vtabela.Open;
end;
end
else
exit;
end;
end;

alguém sabe me dizer porque isso acontece e como arrumar isso?

Obrigado