Este es la funcion que me lo esta dande el error de Invalid Data packet
Código Delphi
[-]function TFrm_FrameworkBase.DoPADQryByWhere(AWhereVO: TDadosQryByWhere;
CDSRetorno: TClientDataSet; Abortar, ExibeAguarde, ExibeMensagem: boolean): boolean;
var
LExibeMensagem: TExibeMensagem;
LResult_VO: TRESULT;
LResult: OleVariant;
LResultSet: OleVariant;
LFlags: integer;
LMensg: string;
begin
LExibeMensagem := nil;
Result := False;
LResultSet := Unassigned;
LResult_VO := TRESULT.Create;
try
LResult_VO.Clear;
LResult := LResult_VO.Serialize;
try
if ExibeAguarde then
LExibeMensagem := TExibeMensagem.CreateMsg('Realizando consulta no Banco de Dados');
CDSRetorno.Close;
try
if (FTipoConexao = 0) then
FSocketSistema.AppServer.PADQryByWhere(AWhereVO.Serialize,
LResultSet,
LResult);
end
else
begin
if (Assigned(FDoPADQryByWhereCDSEvent)) then
begin
FDoPADQryByWhereCDSEvent(AWhereVO.Serialize,
LResultSet,
LResult);
end;
end;
LResult_VO.Serialize := LResult;
if LResult_VO.Codigo = 0 then
try
CDSRetorno.Data := LResultSet;
except
On E: Exception do
begin
LResult_VO.Codigo := 99;
LResult_VO.Mensagem := E.Message;
end;
end;
Result := (LResult_VO.Codigo <> 99);
except
on E: Exception do
begin
LResult_VO.Codigo := 99;
LResult_VO.Mensagem := E.Message;
end;
end;
finally
if Assigned(LExibeMensagem) then
LExibeMensagem.Free;
if (LResult_VO.Codigo <> 0) and (ExibeMensagem) then
begin
if (LResult_VO.Codigo = 99) then
LFlags := MB_ICONERROR
else
LFlags := MB_ICONWARNING;
LMensg := LResult_VO.Mensagem;
Application.MessageBox(PChar(LMensg),'Consulta ao Servidor',LFlags + MB_OK);
if (Abortar) then
Abort;
end;
end;
finally
try
if (FResult_VO <> nil) then
begin
FResult_VO.Serialize := LResult_VO.Serialize;
end;
except
end;
LResult_VO.Free;
end;
end;
Y esta es la linea del error
CDSRetorno.Data := LResultSet;