O aplicativo chamou uma interface empacotada para um outro segmento

Delphi

02/10/2014

Prezados, estou com o seguinte problema:
Uso Delphi 7 com Firebird 1.5.
Tenho uma rotina que usa Thread para consultar o estoque de vários Bancos.
Executando a aplicação, não estava me trazendo nem um resultado. Então resolvi debugar.
Debugando me deparei com esse erro: O aplicativo chamou uma interface empacotada para um outro segmento.
O ponto exato onde ocorre esse erro é no procedimento onde crio um ClientDataSet. Após dá o comando Open, apresenta esse erro.

procedure TEstoqueThd.Importa;
begin
try
CoInitializeEx(nil,2);
FDM_GLOBAL := TDM_GLOBAL.Create(nil);
FDM_GLOBAL.cb_procom.AppServer.LOGIN_BD(P_strConnection_name);

Synchronize(Consultar); //Aqui ocorre o erro
qry_sel_refer.First;
while not(qry_sel_refer.Eof) do
begin
if (P_IntParametro = 0) or ((P_IntParametro = 1) and (qry_sel_refer.FieldByName('Estoque').AsFloat > 0)) or
((P_IntParametro = 2) and (qry_sel_refer.FieldByName('Estoque').AsFloat < 0)) then
begin
Synchronize(GravarAnalitico);
Synchronize(GravarAnaliticoGrade1);
Synchronize(GravarAnaliticoGrade2);
Synchronize(GravarAnaliticoGrade3);
Synchronize(GravarAnaliticoGrade);
Synchronize(GravarConsolidado);
Synchronize(GravarConsolidadoGrade1);
Synchronize(GravarConsolidadoGrade2);
Synchronize(GravarConsolidadoGrade3);
Synchronize(GravarConsolidadoGrade);
end;
qry_sel_refer.Next;
end;
finally
FDM_GLOBAL.cb_procom.Connected := false;
FDM_GLOBAL.Free;
qry_sel_refer.free;
CoUninitialize;
end;
end;

procedure TEstoqueThd.Consultar;
begin
qry_sel_refer := TClientDataSet.Create(nil);
qry_sel_refer.ConnectionBroker := FDM_GLOBAL.cb_procom;
qry_sel_refer.ProviderName := 'dsp_sel_refer';

qry_sel_refer.close;
qry_sel_refer.CommandText := P_strComando;
qry_sel_refer.Open; //Nesse ponto apresenta a mensagem de erro
end;

Alguém já possou por esse problema e saberia como me ajudar.?
Darlan Souza

Darlan Souza

Curtidas 0
POSTAR