Nada Manuel,
El error persiste, continué investigando y encontré aqui en ClubDelphi que al parecer este error se ha venido presentando desde la versión de RXLib de Delphi XE.
Ya encontré una solución alterna, la planteo por si alguien se le presenta el mismo inconveniente.
En mi caso el RXMemoryData no lo conecto a una Tabla en BD ya que lo utilizo para la revisión de un proceso. La solución es la siguiente:
En vez de utilizar un RXMemoryData, utilice un TClientDataSet, obligatoriamente debo asociarle un TDataSetProvider y a este DataSetProvider es necesario asociarle un DataSet (ó Tabla en BD), por esto le asocie el RXMemoryData original. Una vez hecho esto puedo realizar lo siguiente en código Delphi:
Código Delphi
[-]
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, RxMemDS, Vcl.StdCtrls,
Datasnap.DBClient, Datasnap.Provider, ZAbstractRODataset, ZAbstractDataset,
ZAbstractTable, ZDataset;
type
TForm1 = class(TForm)
Button1: TButton;
RxMemoryData1: TRxMemoryData;
RxMemoryData1Nombre: TStringField;
Memo1: TMemo;
ClientDataSet1: TClientDataSet;
ClientDataSet1Nombre: TStringField;
DataSetProvider1: TDataSetProvider;
procedure Button1Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ClientDataSet1.Open;
ClientDataSet1.Append;
ClientDataSet1Nombre.Value := 'Luis';
ClientDataSet1.Post;
ClientDataSet1.Append;
ClientDataSet1Nombre.Value := 'Zolibel';
ClientDataSet1.Post;
ClientDataSet1.Append;
ClientDataSet1Nombre.Value := 'Arturo';
ClientDataSet1.Post;
ClientDataSet1.Append;
ClientDataSet1Nombre.Value := 'Juan';
ClientDataSet1.Post;
ClientDataSet1.Filter := 'Nombre='+QuotedStr('Zolibel')+' or Nombre='+QuotedStr('Juan');
ClientDataSet1.Filtered := True;
ClientDataSet1.IndexFieldNames := 'Nombre';
ClientDataSet1.First;
while not ClientDataSet1.Eof do
begin
Memo1.Lines.Add(ClientDataSet1Nombre.Value);
ClientDataSet1.Next;
end;
ClientDataSet1.Close;
end;
end.
Es algo rebuscado, pero a mí me funciona por los momentos. Espero a alguien lo pueda sacar de apuros también.
Muchas Gracias,
Saludos