Ver Mensaje Individual
  #2  
Antiguo 06-09-2011
Paulao Paulao is offline
Miembro
 
Registrado: sep 2003
Ubicación: Rua D 31 Casa 1 - Inhoaíba - Rio de Janeiro - RJ - Brasil
Posts: 637
Reputación: 21
Paulao Va por buen camino
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;
Responder Con Cita